让我的Rails应用接受大文件。

我正在开发一个 Ruby on Rails 应用程序,用户将能够上传文件。

目前我把我的文件放在一个名为 nitrous.io 的在线 IDE 上。当我上传大小超过17MB的文件(或像那样的文件组合)时,我会收到一个错误消息:

413 请求实体过大
openresty/1.7.10.1

我做了一些阅读并发现这是client_max_body_size需要在nginx.conf中设置为适当大小的原因。我找到了nginx是openresty的一部分,所以nginx.conf文件位于/etc/nginx/,添加了这行

client_max_body_size = 50M;

到文件中,现在它看起来像这样:

user www-data;
...

然后,我通过键入以下命令重新加载nginx web服务器:

sudo /etc/init.d/nginx reload

并获得了一个“[OK]”状态。

然而,我仍然无法通过我的Rails应用程序上传大文件。我知道在PHP应用程序中,还需要更改PHP.ini文件以允许大型上传,覆盖Web服务器配置,Rails中是否有等效方法?

编辑:放在整个nginx.conf内容中。

编辑#2:这刚刚发生在我身上;既然我可以上传1 MB-17 MB之间的文件,那么我的client_max_body_size属性是否被某种方式覆盖了?根据文档,nginx的默认最大主体大小为1MB

点赞