.NET MVC 簡單的多個檔案上傳方法

  • 3560
  • 0
  • 2016-05-08

檔案上傳使用Html5的新屬性

我之前在做的檔案上傳 基本上都是一個檔案 一個input type file
如果要多個檔案上傳 就要用到JQ
當按下增加上傳時就會多Append一個input type file 一樣的Name
再來到Action接
不過自從我朋友告訴我Html5的input file有新屬性可以簡單的做出
多個檔案上傳時 我就試了一下 果真是簡單又好用

@*因為要上傳檔案enctype記得加上*@
@using (Html.BeginForm("Uploaded""UploadFile"FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @*因為要多個上傳 所以要用到multiple屬性*@
    <input type="file" name="files" multiple />
    <input type="submit" value="上傳" />
}

以上是View的部份 再來是Action

public ActionResult Upload_Multiple()
{
    return View();
}
public ActionResult Uploaded(HttpPostedFileBase[] files)
{
    if (files.Count() > 0)
    {
        foreach (var uploadFile in files)
        {
            if (uploadFile.ContentLength > 0)
            {
                string savePath = Server.MapPath("~/Files/");
                uploadFile.SaveAs(savePath + uploadFile.FileName);
            }
        }
    }
    return RedirectToAction("Upload_Multiple");
}

按下瀏覽時會出現選擇對話框 而且可以按住Ctrl多選

再來就開啟之後按下上傳就成功了
當然 這只是簡單的多個上傳檔案方法而已
如果想要比較複雜的功能
可能還是用套件比較快 :P