【问题标题】:Blazor server side upload file > 28.6MB functionalityBlazor 服务器端上传文件 > 28.6MB 功能
【发布时间】: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


    【解决方案1】:

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

        <security>
          <requestFiltering>
            <!-- This will handle requests up to 50MB -->
            <!--<requestLimits maxAllowedContentLength="52428800" />-->
            <requestLimits maxAllowedContentLength="104857600" />
          </requestFiltering>
        </security>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2022-07-14
      • 2012-03-19
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 2020-05-15
      相关资源
      最近更新 更多