2020-08-07

ASP .NET 批量文件上传

1.前台View

<body> <div>  <table>   <tr>    <td>     <input type="file" id="files" name="files" multiple="multiple">     <input type="submit" id="up" onclick="up()" value="上传" />     <div id="content"></div>    </td>   </tr>   <tr>    <td><a href="\Upload\Get_KPI2Zip">下载</a></td>   </tr>  </table>  </div></body>
JS
<script> var inputElement = document.getElementById("files"); inputElement.addEventListener("change", handleFiles, false);  function handleFiles() {  var fileList = this.files;  var dd = document.getElementById('content');  for (var i = 0 ; i < fileList.length ; i++) {   dd.innerHTML += fileList[i].name + "<br>";  } } function up() {  var fileObj = document.getElementById("files").files;  var params = new FormData();  for (var i = 0; i < fileObj.length; i++) {   params.append("file" + i, fileObj[i]);  }  $.ajax({   type: "POST",   url: "UploadFiles",   data: params,   contentType: false,//必须false才会自动加上正确的Content-Type    processData: false,//必须false才会避开jQuery对 formdata 的默认处理 ,   success: function (result) {    alert(result.msg);   },   error: function () {    alert("Error");   }  });  return false; } </script>
script

2.后台Controller

 [HttpPost]   public ActionResult UploadFiles(HttpPostedFileBase f)  {   if (!Request.IsAjaxRequest())    return View();   try   {    var files = Request.Files;    if (files.Count == 0)     return Json(GetResult(false, "提示:没有要上传的文件!", null));    var i = 1;    foreach (string file in files)    {     //获取文件信息     var curFile = Request.Files[file];     if (curFile != null && curFile.ContentLength < 1)      continue;     //获取保存路径     var filesUrl = Server.MapPath("~/Upload");     if (Directory.Exists(filesUrl) == false)//路径不存在则创建      Directory.CreateDirectory(filesUrl);     if (curFile == null)      continue;     //获取文件名     var fileName = Path.GetFileName(curFile.FileName);     if (fileName == null)      continue;     //文件后缀名     var filePostfixName = fileName.Substring(fileName.LastIndexOf('.'));     //新文件名     var newFileName = (DateTime.Now.ToString("yyyyMMddHHmmss") + i) + filePostfixName;     i++;     //     var path = Path.Combine(filesUrl, newFileName);     //保存文件     curFile.SaveAs(path);    }    return Json(GetResult(true, "上传成功!", null));   }   catch (Exception ex)   {    return Json(GetResult(false, "上传失败、错误信息:" + ex.Message, null));   }  }
Controller

 

ASP .NET 批量文件上传香港会计师事务所2017站外营销全攻略Facebook与Google引流基础实操Shopee刷粉丝互粉刷关注自动加粉工具,永久免费安全可靠实用干货:2019年愈发火爆的Dropshipping模式,卖家收藏!亚马逊店铺被封的几种解决办法英德南山公园在哪?英德九州驿站树屋村是怎么样的?英德九州驿站有什么好玩的?

No comments:

Post a Comment