MVC上传多个文件

时间:2014-03-18 14:54:46

标签: c# asp.net-mvc file-upload

就像您在我的图表中看到的,每个Post都可以有多个PostImage

enter image description here

如何在ASP.NET MVC中上传图像?我不知道每个帖子可以有多少张图片,所以我不喜欢我的做法:

 <label for="file1">Filename:</label>
 <input type="file" name="files" id="file1" />
 <label for="file2">Filename:</label>
 <input type="file" name="files" id="file2" />

在我上传图片后,我想要预览图片,

这是我到目前为止所做的。

 @using (Html.BeginForm("Edit", "BlogPost", FormMethod.Post, new {   nctype="multipart/form-data" }))
 {
  @Html.AntiForgeryToken()
  @Html.ValidationSummary(true)

<fieldset>
    <legend>Post</legend>

    @Html.HiddenFor(model => model.ID)

    <div class="editor-label">
        @Html.LabelFor(model => model.Title)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Title)
        @Html.ValidationMessageFor(model => model.Title)
    </div>
    <label for="file1">Filename:</label>
    <input type="file" name="files" id="file1" />  

    <label for="file2">Filename:</label>
    <input type="file" name="files" id="file2" />

    <input type="submit"  />
    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

控制器:

 [HttpPost]
 [ValidateAntiForgeryToken]
 public ActionResult Edit(Post post, int[] selectedCategories, IEnumerable<HttpPostedFileBase> files)
 {
    if (ModelState.IsValid)
    {
       //Code to Edit
    }
 }

1 个答案:

答案 0 :(得分:-1)

使用BlueImp jQuery File Uploader解决方案:https://blueimp.github.io/jQuery-File-Upload/ 它提供:

  

“..多个文件选择,拖放支持,进度条,验证和预览图像”