c#mvc上传文件保存到后台_c# – 文件上传在MVC 3中始终为空
时间: 2023-07-27 08:23:26 浏览: 43
你好,关于文件上传在MVC 3中始终为空的问题,可能是由于以下原因导致的:
1. 表单的 enctype 属性设置错误,应该设置为 "multipart/form-data"。
2. 控制器方法中的参数名和表单中的文件 input 名称不匹配。
3. 控制器方法没有使用 HttpPostedFileBase 类型的参数来接收文件。
4. 文件大小超出了服务器的限制。
你可以参考以下代码示例来实现文件上传并保存到后台:
在视图中添加一个文件 input 控件:
```
@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" />
<input type="submit" value="Upload" />
}
```
在控制器中添加一个接收文件的方法:
```
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
return RedirectToAction("Index");
}
else
{
return View();
}
}
```
在上面的示例中,我们首先检查文件是否为空并且大小是否大于零。如果文件不为空,我们将文件名和保存路径组合起来并将文件保存到服务器上。最后,我们重定向到 Index 视图。
希望这可以帮助你解决问题。如果你有任何进一步的问题,请随时问我。