为什么我的上传限制是100MB?它设置为500MB

我已经为此工作了4天,但无论我如何设置,都无法上传大于100MB的视频。每次我都会收到一条消息,提示文件超过了500MB的限制。

只是好奇地问一下,如果将其设置为 0 而不是 500m 会发生什么?

我的意思是 0 而不是 0m

我现在就试试。

分号前的额外空格有意义吗?


这次我将其更改为0,然后在管理页面上设置为1000MB,重新构建应用程序
上传了一个101mb的视频,它仍然显示超过1000MB。

我删除了空格。

现在的问题是,大于100mb的视频文件无法上传。
尽管 Discourse 的文件设置已经是 1000mb 生效,但内部逻辑实际上仍然限制在图片的最大值……

你们能测试一下你们的网站吗?将其他附件大小设置为 1G,然后尝试上传一个 101MB 的视频看看是否能上传成功?

您有一个标准安装,并且没有配置反向代理?

这是一个标准的安装,没有使用其他反向代理。
问题是其他附件的大小也受到图像大小的限制。

如果您增加最大图像尺寸,您可以上传更大的视频吗?

不,这个 102400kb 是由 Discourse 系统设置的,我没有设置图片大小,它仍然是默认的 4096kb,我已经将我的其他附件大小设置为 500mb 并且也生效了,但实际上,在上传视频时,它仍然会卡在图片的最高大小。

所以我想让你尝试一下,看看 Discourse 中是否存在 bug。

我看到当 Web 服务器无法处理上传大小时,会出现一个通用错误。

使用 client_max_body_size 0; 似乎是个好主意,但 Nginx 是否完全重启了?

我会确保 upload_size 设置为 0 并重新构建应用程序以清除任何更改。

如果您希望支持大型文件,则需要设置直接上传到 S3,需要启用站点设置 enable_direct_s3_uploads 才能正常工作。

2 个赞

我尝试过开启和关闭 s3,但无法上传超过 100MB 的文件。

我尝试删除 Discourse 并重新安装以恢复数据。仍然无法上传超过 100m 的文件。

上述设置是否已启用?

我已经设置好了,这样即使是小文件也可以同步到 s3。

我在哪里设置它?我可以上传大文件。但是大文件是本地的,没有同步到 s3。

这是一个隐藏的设置,打开一个 Rails 控制台

cd /var/discourse/
./launcher enter app
rails c

然后执行

SiteSetting.enable_direct_s3_uploads = true

1 个赞