我目前正在开发一个 ASP.NET Core Web 应用程序,用户可以在其中异步上传大文件。我已经使用内置的 IFormFile 接口实现了基本的文件上传功能,但是我遇到了较大文件和多个并发上传的性能问题。
我研究了各种方法,包括使用 HttpClient 进行分块上传以及与 Plupload 等第三方库集成,但我不确定哪种方法最适合我的要求。
// Basic file upload using IFormFile interface
[HttpPost]
public async Task<IActionResult> Upload(IFormFile file)
{
if (file != null && file.Length > 0)
{
var fileName = Path.GetFileName(file.FileName);
var filePath = Path.Combine("uploads", fileName);
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
return Ok("File uploaded successfully.");
}
return BadRequest("No file uploaded or file is empty.");
}
对于某些人来说,大文件仍然是超过 5 Mb 的文件。 您的情况哪个尺寸大?
对于大文件来说,最合适的方法是使用有关此案例的官方文档并实施所有建议。我从你的代码中看不到它。您是否测试过或准备测试这种方法?