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>
        </table> 
    </div>
</body>
JS
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

 

posted @ 2020-08-07 15:50  Angel~  阅读(296)  评论(0编辑  收藏  举报