LayUI UploadコンポーネントとC#.Net asp

3717 ワード

この間物資管理システムを作って、最後に素晴らしいプラグインLayer.jsがその根源を究明してLayuiを発見したことを発見しました.ざっと見ると、まるでバックグラウンドのプログラマーのために生まれたようだ.高速オンラインの小型プロジェクトを迅速に開発する場合.Layuiは第一選択と言える.そこでリーダーにこれを福祉しました.リーダーは私がLayuiを使う提案に従って、Layuiを使いましょう.その中でLayuiの使用中のいくつかのピットを発見し、Markを作って不測の事態に備えた.
JSを導入してあまり話さない js部分は以下の通り

LayUiは ロードのプロセスで、ロードが したらlayui.useに イベントを きます.

layui.use(['layer', 'form','upload'], function(){
  var layer = layui.layer,
  upload = layui.upload,
  ,form = layui.form;

            //      
            upload.render({
                elem: '.UploadFile' //    
               , before: function (obj) {
                   layer.load(2); //  loading
               }
               , done: function (res, index, upload) {
                   //      
                   if (res.src != "" && res.src != null) {
                       $('#FileName').val(res.name);
                       $("#FileUrl").val(res.src);
                       //           
                       var items = this.item;
                       items.hide();
                      }
				}
            });
});
 

html部分は以下の通りです
 

c#コントローラ部分は以下の通り
/// 
        ///     
        /// 
        /// 
        public ActionResult UploadFile()
        {
            try
            {
                var file = Request.Files[0]; //        
                var filecombin = file.FileName.Split('.');
                if (file == null || String.IsNullOrEmpty(file.FileName) || file.ContentLength == 0 || filecombin.Length < 2)
                {
                    return Json(new
                    {
                        fileid = 0,
                        src = "",
                        name = "",
                        msg = "                  "
                    });
                }
                //        
                string local = "Upload\\Contract";
                string filePathName = string.Empty;
                string localPath = Path.Combine(HttpRuntime.AppDomainAppPath, local);

                var tmpName = Server.MapPath("~/Upload/Contract/");
                var tmp = file.FileName;
                var tmpIndex = 0;
                //                   1    
                while (System.IO.File.Exists(tmpName + tmp))
                {
                    tmp = filecombin[0] + "_" + ++tmpIndex + "." + filecombin[1];
                }

                //          
                filePathName = tmp;

                if (!System.IO.Directory.Exists(localPath))
                    System.IO.Directory.CreateDirectory(localPath);
                string localURL = Path.Combine(local, filePathName);
                file.SaveAs(Path.Combine(localPath, filePathName));   //    (   )
                return Json(new
                {
                    src = localURL.Trim().Replace("\\", "|"),
                    name = Path.GetFileNameWithoutExtension(file.FileName),   //           
                    msg = "    "
                });
            }
            catch {}
            return Json(new
            {
                src = "",
                name = "",   //           
                msg = "    "
            });
        }

もし誤りがあれば斧正を懇請する.