在ASP.NET MVC 3中上传文件:如何正确实现?
大家好!我是ASP.NET MVC 3的新手,正在尝试实现文件上传到服务器。我读了很多文章,但仍然感到困惑。
我有一个视图中的表单,用户应该选择一个文件(例如,图像或文档)并提交。我这样做了:
```csharp
// 模型
public class UploadModel
{
public string FileName { get; set; }
public HttpPostedFileBase File { get; set; }
}
// 控制器
[HttpPost]
public ActionResult Upload(UploadModel model)
{
if (model.File != null && model.File.ContentLength > 0)
{
var fileName = Path.GetFileName(model.File.FileName);
var path = Path.Combine(Server.MapPath("~/uploads"), fileName);
model.File.SaveAs(path);
ViewBag.Message = "文件已上传!";
}
else
{
ViewBag.Message = "错误:未选择文件。";
}
return View();
}
```
在视图中:
```html
@using (Html.BeginForm("Upload", "Home", FormMethod.Post, ne