【问题标题】:504 error when uploading above 30 MB ASP.NET Core 3.1上传 30 MB 以上 ASP.NET Core 3.1 时出现 504 错误
【发布时间】:2020-09-03 14:36:32
【问题描述】:

我正在尝试解决一个问题,即在网络应用上上传大于 30 MB 的文件时会收到网关超时错误。

在此之前,系统收到 404.13 错误,因此我通过更改 maxAllowedContentLength 更改了 web.config 文件以支持更大的文件,这最初是有效的。但是,现在它收到了 504 错误。

系统的工作方式:

  1. 使用第三方上传工具选择一个文件并上传到网络应用程序(这部分工作没有问题)。

  2. 该 (IFormFile) 然后由网络应用程序处理以确定它是什么类型的文件以及如何处理它。

  3. 完成后,该文件流将在 PutObjectAsync 请求中发送到 Amazon S3 存储桶。

我认为问题出现在第三步,但这很难诊断,因为它不会发生在本地环境中。奇怪的是,我可以毫无问题地上传一个 29 MB 的文件,并且处理速度很快,但是当我超过这个值时,它似乎挂在最后一步。以前有没有人遇到过类似的问题?您采取了哪些措施来解决它?

编辑:以前是 404.13 错误。

【问题讨论】:

  • 在这里查看第二个答案stackoverflow.com/questions/38698350/…
  • 感谢 Roman,我已经尝试过了。就像我说的,这修复了最初的 404 错误,但我现在收到了 504。
  • 这能回答你的问题吗? Multipart body length limit exceeded exception
  • 您正在控制器端点中执行所有这些操作?用秒表计时。我敢打赌,它每次都会在 2 分钟左右消亡。尝试使用 50 MB 的文件以确保一致性。
  • 您如何托管它? iis?

标签: c# amazon-web-services asp.net-core amazon-s3


【解决方案1】:

我们发现该问题与 IIS 或 AWS 没有直接关系。相反,在上传到 AWS S3 之前,我们在服务器上将视频文件编码为所需的格式。对于较大的文件,此过程耗时过长,并导致网关超时错误。

安迪,你是对的。它恰好发生在两分钟标记处,即(默认)我们将服务器超时配置为的时间。

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2019-05-11
    • 2019-06-24
    • 2020-11-25
    • 2021-11-11
    • 2021-08-26
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    相关资源
    最近更新 更多