ASP.NET Core 单文件和多文件上传并保存到服务端的方法
在 ASP.NET Core 中,可以使用多种方式实现单文件和多文件上传并保存到服务端。本攻略将详细介绍 ASP.NET Core 单文件和多文件上传并保存到服务端的方法,并提供多个示例说明。
单文件上传
以下是一个简单的单文件上传示例:
- 在视图中添加文件上传表单:
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit">Upload</button>
</form>
- 在控制器中添加文件上传处理方法:
[HttpPost]
public async Task<IActionResult> Upload(IFormFile file)
{
if (file == null || file.Length == 0)
return Content("file not selected");
var path = Path.Combine(
Directory.GetCurrentDirectory(), "wwwroot",
file.FileName);
using (var stream = new FileStream(path, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return RedirectToAction("Index");
}
以上代码中,使用 IFormFile 接口处理文件上传,并使用 FileStream 类将文件保存到指定路径。
多文件上传
以下是一个简单的多文件上传示例:
- 在视图中添加多文件上传表单:
<form method="post" enctype="multipart/form-data">
<input type="file" name="files" multiple />
<button type="submit">Upload</button>
</form>
- 在控制器中添加多文件上传处理方法:
[HttpPost]
public async Task<IActionResult> Upload(List<IFormFile> files)
{
long size = files.Sum(f => f.Length);
foreach (var formFile in files)
{
if (formFile.Length > 0)
{
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", formFile.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
}
}
return RedirectToAction("Index");
}
以上代码中,使用 List
示例说明
以下是两个示例说明:
示例一:单文件上传
单文件上传可以上传单个文件,并将文件保存到指定路径。以下是一个简单的示例:
-
创建一个 ASP.NET Core 应用程序。
-
在视图中添加文件上传表单。
-
在控制器中添加文件上传处理方法。
-
启动应用程序,并上传文件,将会看到文件上传成功的结果。
以上示例中,使用单文件上传上传单个文件,并将文件保存到指定路径。
示例二:多文件上传
多文件上传可以上传多个文件,并将文件保存到指定路径。以下是一个简单的示例:
-
创建一个 ASP.NET Core 应用程序。
-
在视图中添加多文件上传表单。
-
在控制器中添加多文件上传处理方法。
-
启动应用程序,并上传多个文件,将会看到文件上传成功的结果。
以上示例中,使用多文件上传上传多个文件,并将文件保存到指定路径。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core单文件和多文件上传并保存到服务端的方法 - Python技术站