加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在发布包含多个文件字段的表单时从nginx获取40

发布时间:2020-12-17 01:56:50 所属栏目:百科 来源:网络整理
导读:我在我的制作中使用rails 4.2和nginx.我有一个包含多个文件字段的表单.直到昨天,此功能已按预期工作.但是一个奇怪的问题刚刚到来. 问题是:在发布此表单时,它会加载.我检查了nginx的错误日志,没有找到任何东西.在检查访问日志时,我在超时后获得了该请求的400
我在我的制作中使用rails 4.2和nginx.我有一个包含多个文件字段的表单.直到昨天,此功能已按预期工作.但是一个奇怪的问题刚刚到来.

问题是:在发布此表单时,它会加载.我检查了nginx的错误日志,没有找到任何东西.在检查访问日志时,我在超时后获得了该请求的400状态.

我通过禁用文件字段进行了检查.如果以该形式,一个文件字段处于活动状态,则它可以正常工作.但是激活了多个文件字段,发生了这样的错误.

000.11.221.162 - - [19/Aug/2016:11:41:16 +0000] "POST /categories HTTP/1.1" 400 0 "http://someapp.com/categories/new" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/51.0.2704.106 Safari/537.36"

有没有人遇到过这种问题.任何建议都会有所帮助.

nginx配置

http{
    passenger_root /usr/local/rvm/gems/ruby-2.1.0@global/gems/passenger-5.0.21;
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.0/wrappers/ruby;

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
            listen                80;
            server_name           xxx.xxx.xxx.xx;
            passenger_enabled     on;
            root                  /path/to/rails/public;
            rails_env             production;
            client_max_body_size    0;
            client_body_timeout     600s;
            send_timeout            600s;
        }
}

解决方法

使用carrierwave上传多个文件实际上很容易.

https://github.com/carrierwaveuploader/carrierwave/blob/master/README.md#multiple-file-uploads

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读