在ASP.NET Core 3.1中,可以使用流式传输来处理大文件上传。如果您遇到无法阻止模型绑定的问题,您可以使用以下解决方法:
services.Configure(options =>
{
options.MaxRequestBodySize = null;
});
DisableRequestSizeLimit
属性阻止模型绑定。以下是一个示例代码:[HttpPost("upload")]
public async Task Upload()
{
if (!Request.HasFormContentType)
{
return BadRequest();
}
var form = await Request.ReadFormAsync();
// 获取上传的文件
var file = form.Files.FirstOrDefault();
if (file == null || file.Length == 0)
{
return BadRequest();
}
// 处理文件上传逻辑
// ...
return Ok();
}
请注意,DisableRequestSizeLimit
属性可以阻止模型绑定并允许接收任意大小的请求体。但是,这也意味着要小心处理大文件上传,以免占用过多的服务器资源。