ASP .NET 批量文件上傳

1.前臺Viewide

<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.後臺Controllerspa

  [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
相關文章
相關標籤/搜索