📅  最后修改于: 2023-12-03 14:59:24.276000             🧑  作者: Mango
在ASP.NET MVC中,文件上传是很常见的需求之一。本文将介绍如何同时上传两个文件,并将它们分别保存到不同的目的地。
首先,我们需要一个HTML表单来上传文件。在视图文件中添加如下代码:
<div>
<form method="post" action="@Url.Action("Upload", "Home")" enctype="multipart/form-data">
<input type="file" name="file1" /><br/>
<input type="file" name="file2" /><br/>
<input type="submit" value="Upload" />
</form>
</div>
其中,enctype="multipart/form-data"
是必须的,以便支持文件上传。
我们需要处理上传文件的逻辑,将它们分别保存到不同的地方。
public class HomeController : Controller
{
public ActionResult Upload()
{
return View();
}
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file1, HttpPostedFileBase file2)
{
if (file1 != null && file2 != null)
{
var path1 = Path.Combine(Server.MapPath("~/Uploads"), Path.GetFileName(file1.FileName));
file1.SaveAs(path1);
var path2 = Path.Combine(Server.MapPath("~/Downloads"), Path.GetFileName(file2.FileName));
file2.SaveAs(path2);
ViewBag.Message = "Files uploaded successfully.";
}
else
{
ViewBag.Message = "Please choose both files to upload.";
}
return View();
}
}
我们定义了两个上传文件的参数file1和file2,然后在POST方法中进行处理。我们可以通过Server.MapPath("~/Uploads")
和Server.MapPath("~/Downloads")
方法来获得上传文件的目的地,然后使用SaveAs
方法将它们保存到相应的文件夹中。最后,我们在ViewBag中设置了一个消息,以便在视图中显示上传结果。
在这篇文章中,我们介绍了如何同时上传两个文件,并将它们分别保存到不同的目的地。我们使用了HTML表单来上传文件,然后在控制器中进行处理。这是一个非常基本的示例,你可以根据自己的需要进行扩展。