使用单个按钮在不同文件夹中上传多个图像

本文关键字:图像 文件夹 单个 按钮 | 更新日期: 2023-09-27 18:36:30

我正在使用 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");
}

实际上,我的需求是我想通过一个提交按钮将这些图像上传到不同的文件夹中。(即文件 1 进入文件夹 1,文件 2 进入文件夹 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");
    }