【问题标题】:Rails - set POST request limit (file upload)Rails - 设置 POST 请求限制(文件上传)
【发布时间】:2012-11-10 04:55:04
【问题描述】:

我正在为 Rails 构建一个文件上传器,使用 CarrierWave。我对它的 API 感到非常满意,但我似乎无法即时剪切超过限制的文件上传。

我找到this plugin 进行验证,但问题是它发生在上传完成之后。在我的情况下这是完全不可接受的,因为任何用户都可以通过上传一个巨大的文件来关闭网站

所以,我认为方法是使用一些 Rack 配置或中间件来限制接收到的 POST 正文大小。我在 Heroku 上托管,作为上下文。

*我知道https://github.com/dwilkie/carrierwave_direct,但这并不能解决我的问题,因为我必须先调整大小并丢弃原始大图像。

【问题讨论】:

    标签: ruby-on-rails heroku rack carrierwave


    【解决方案1】:

    快速而肮脏的解决方法是使用 javascript 上传器并在那里进行验证。如果这还不够好:

    • 如果您将应用程序服务器切换到rainbows,您可以使用名为client_max_body_size 的设置。

    • 如果您正在使用另一个应用程序服务器,您将不得不寻找等效的设置(可能不存在),或者想出某种中间件(可能或不可能取决于您的应用程序服务器)。如果您编写一个干净的中间件来执行此操作,我想很多人会感兴趣,因为目前似乎还没有。

    • 如果你没有使用 heroku,你可以使用 nginx 的 client_max_body_size 设置,或者 apache 的任何等效设置。

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 2021-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-13
      • 2018-12-16
      • 2017-12-25
      • 1970-01-01
      相关资源
      最近更新 更多