Rails文件上传大小限制

有没有人知道在运行带有Passenger / mod_rails的Rails应用程序时限制文件上载大小的好方法。 请求应立即被拒绝,以便文件不会传输到服务器。

到目前为止,我发现的解决方案都描述了如何修补Mongrel以实现限制,但我必须使用乘客与此应用程序。

或者,如果您将nginx与乘客一起使用,请添加服务器块:

server { client_max_body_size 100M; } 

http://wiki.nginx.org/NginxHttpCoreModule#client_max_body_size

您可以使用LimitRequestBody指令通过Apache限制上传大小:

  LimitRequestBody 1024  

http://httpd.apache.org/docs/1.3/mod/core.html#limitrequestbody

您可以使用以下javascript通知用户所选文件超出最大限制。 但仍然是服务器端validation的必要条件。

 $('#id_of_input_file_field').change(function() { if(this.files[0].size > MAX_LIMIT_FOR_FILE){ $('#id_of_input_file_field').val(''); alert('File exceeds maximum size limit ') } }); 

MAX_LIMIT_FOR_FILE以字节为单位,因此如果要设置最大限制为1Mb,则MAX_LIMIT_FOR_FILE的值应为1048576