1

我正在使用 c# 在 mvc4 中做我的项目

我的项目我想从一个文件夹上传两个图像文件,所以我使用以下代码。

看法:

 <form action="" method="post" enctype="multipart/form-data">
   <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"  />
 </form>

控制器:

[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files) {
foreach (var file in files) {
if (file.ContentLength > 0) {
  var fileName = Path.GetFileName(file.FileName);
  var path = Path.Combine(Server.MapPath("~/App_Data/uploads/Folder1"), fileName);
  file.SaveAs(path);
}
}
return RedirectToAction("Index");
}

实际上我的需要是我想在一个提交按钮上将这些图像上传到不同的文件夹中。(即file1放入Folder1,file2放入Folder2)这可能吗?

4

1 回答 1

2

你有很多解决方案。

 public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
    {
        IList<HttpPostedFileBase> list = (IList<HttpPostedFileBase>)files;
        for (int i = 0; i < files.Count(); i++)
        {
            if (list[i].ContentLength > 0 && i == 0)
            {
                var fileName = Path.GetFileName(list[i].FileName);
                var path = Path.Combine(Server.MapPath("~/App_Data/uploads/Folder1"), fileName);
                file.SaveAs(path);
            }
            else if (list[i].ContentLength > 0)
            {
                var fileName = Path.GetFileName(list[i].FileName);
                var path = Path.Combine(Server.MapPath("~/App_Data/uploads/Folder2"), fileName);
                file.SaveAs(path);
            }
        }
        return RedirectToAction("Index");
    }
于 2013-10-22T05:41:01.653 回答