【发布时间】:2020-12-08 19:39:15
【问题描述】:
您好我想问一下如何配置 blazor 服务器端应用程序以允许上传大于 28.6MB 的文件(本文的大小:https://www.strathweb.com/2012/09/dealing-with-large-files-in-asp-net-web-api/)。
我正在使用 BlazorInputFile 和 Tewr.Blazor.FileReader。一切正常,而文件大小小于约 23 MB。更大的文件会挂起应用程序。当发生读入内存流时,两种解决方案都会停止。
MemoryStream ms;
using (ms = new MemoryStream())
{
await file.Data.CopyToAsync(ms); <- STOPS HERE
ms.Dispose();
}
或
using (MemoryStream memoryStream = await file.CreateMemoryStreamAsync(100 * 1024 * 1024)) <-STOPS HERE
{
// Sync calls are ok once file is in memory
}
我尝试了多种设置,例如:
services.AddSignalR(e =>
{
e.MaximumReceiveMessageSize = 100 * 1024 * 1024;
});
app.Use(async (context, next) =>
{
context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = null;
await next.Invoke();
});
services.AddServerSideBlazor().AddHubOptions(o => o.MaximumReceiveMessageSize = 100 * 1024 * 1024);
但它们都不起作用。 有什么想法吗?
【问题讨论】:
标签: c# .net blazor blazor-server-side