如何在ASP.Net Core MVC中上传文件
时间: 2024-03-20 10:42:04 浏览: 116
asp.net mvc 实现文件上传
4星 · 用户满意度95%
可以通过以下步骤在ASP.Net Core MVC中上传文件:
1. 在View中添加一个表单,包含一个<input type="file">元素,用于选择要上传的文件。
2. 在Controller中添加一个Action方法,用于处理上传文件的请求。可以使用HttpPost特性来标记这个方法。
3. 在Action方法中,使用IFormFile接口来处理上传的文件。可以通过Request.Form.Files来获取上传的文件,然后使用IFormFile的方法来读取文件内容或保存文件到本地。
4. 在View中添加一个Action链接或按钮,用于提交表单并上传文件。
以下是一个简单的示例代码:
View:
```
<form method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" />
<button type="submit">Upload</button>
</form>
```
Controller:
```
[HttpPost]
public IActionResult Upload(IFormFile fileToUpload)
{
if (fileToUpload != null && fileToUpload.Length > 0)
{
// 处理上传的文件
var fileName = Path.GetFileName(fileToUpload.FileName);
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", fileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
fileToUpload.CopyTo(stream);
}
return RedirectToAction("Index");
}
else
{
ModelState.AddModelError("", "Please select a file to upload.");
return View();
}
}
```
注意:需要添加enctype="multipart/form-data"属性到表单中,以便支持文件上传。另外,需要安装Microsoft.AspNetCore.Http.Features包来使用IFormFile接口。
阅读全文