【问题标题】:.Net core and React uppy.io 110mb file upload exception "Unexpected end of request content.".Net 核心和 React uppy.io 110mb 文件上传异常“请求内容意外结束”。
【发布时间】:2021-07-13 07:51:56
【问题描述】:

我有一个 Asp.net core 3.1 api 和 react typescript 应用程序。

当上传大文件时,我得到异常这个错误

“请求内容意外结束。”

React 组件是 Uppy.io,上传方法是 XHR

我使用 nginx 来接收请求

我尝试了以下解决方案

  1. nginx大文件设置client_max_body_size 2000M;
  2. Asp.net Core 文件设置 options.Limits.MaxRequestBodySize = long.MaxValue;

但是不行

我尝试使用 20mb 文件来减慢浏览器的速度以确定问题所在。这是工作。 我认为问题是上传时间不长。

我测试了 110 mb 的文件

Uppy.io 组件进度为 100,然后等待 30 秒并抛出异常

【问题讨论】:

  • 应用程序是否在内存有限的环境中运行?您可能在某处遇到 OOM 错误
  • @abdusco 我检查了服务器。它是可用的 vm 和 7gb 内存。使用红隼服务而不是 docker 创建的应用程序。
  • nginx前面有没有反向代理?也许是防火墙?一旦请求大小超过一定大小,他们可能会断开连接。检查浏览器控制台。上传停止时会发生什么奇怪的事情吗?

标签: reactjs asp.net-core nginx react-typescript uppy


【解决方案1】:

我解决了我的问题。

我在 nginx 位置块上添加了以下代码。

这是工作

proxy_http_version 1.1;
proxy_set_header Connection keep-alive;
client_max_body_size 2000M;
proxy_request_buffering off;
proxy_send_timeout 1h;
proxy_read_timeout 1h;

Asp.net 添加到下面的代码中

services.Configure<FormOptions>(x =>
            {
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = int.MaxValue; 
            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多