c# - Blazor 服务器端上传文件 > 28.6MB 功能
问题描述
嗨,我想问一下如何配置 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);
但它们都不起作用。有任何想法吗?
解决方案
不确定情况是否仍然如此,但以前我不得不添加一个 web.config 文件,即使它们实际上并未在 .net 核心中使用并且必须添加以下条目:
<security>
<requestFiltering>
<!-- This will handle requests up to 50MB -->
<!--<requestLimits maxAllowedContentLength="52428800" />-->
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
推荐阅读
- python - 在 python 类中公开任意方法名称以供 IDE 读取
- jquery - ajax发布到控制器后如何返回视图?
- html - XML , XSL 解析 - 无法显示表中的所有行
- rest - 测试 RestController 删除 Crud 方法返回 404 预期 400
- javascript - 嵌套数据模型中的 D3 v4 更新模式
- java - 带有连接的休眠查询
- javascript - 为什么使用映射对象分配可观察对象适用于输入,而不适用于选择?
- three.js - 三.js变换控件线条太细
- android - 在 Textview 中加载包含图像的 HTML 文件
- asp.net-mvc - .net MVC 将嵌套模型发布到控制器,数据集为空