C# Blazor服务器端上传文件>;28.6MB功能

C# Blazor服务器端上传文件>;28.6MB功能,c#,.net,blazor,blazor-server-side,C#,.net,Blazor,Blazor Server Side,您好,我想问一下如何配置blazor服务器端应用程序以允许上传大于28.6MB的文件(本文中标注的大小:) 我正在使用BlazorInputFile和Tewr.Blazor.FileReader。当文件大小小于23MB时,一切正常。较大的文件会挂起应用程序。当读到memorystream时,这两种解决方案都会停止 MemoryStream ms; using (ms = new MemoryStream()) {

您好,我想问一下如何配置blazor服务器端应用程序以允许上传大于28.6MB的文件(本文中标注的大小:)

我正在使用BlazorInputFile和Tewr.Blazor.FileReader。当文件大小小于23MB时,一切正常。较大的文件会挂起应用程序。当读到memorystream时,这两种解决方案都会停止

 MemoryStream ms;
                using (ms = new MemoryStream())
                {
                    await file.Data.CopyToAsync(ms); <- STOPS HERE
                    ms.Dispose();
                }
MemoryStream-ms;
使用(ms=newmemoryStream())
{
等待file.Data.CopyToAsync(ms);
{
context.Features.Get().MaxRequestBodySize=null;
等待next.Invoke();
});
services.AddServerSideBlazor().AddHubOptions(o=>o.MaximumReceiveMessageSize=100*1024*1024);
但它们都不起作用。
有什么想法吗?

不确定情况是否仍然如此,但之前我不得不添加一个web.config文件,尽管它们实际上没有在.net core中使用,并且必须添加以下条目:


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);