2011-01-29 79 views
1

我on Rails的3,并在我的视图文件使用Ruby我有这样的代码:如何使用Ruby on Rails 3检查HTTP请求的字段'Content-Length'?

<%= form_for (@account, ...) do |f| %> 
    <%= f.file_field :file %> 
    ... 
    <%= f.submit "Upload" %> 
<% end %> 

为了避免服务器的超载,我会在这之前的服务器检查上传文件的大小收到它。这是因为,按下表单的提交按钮,服务器将首先完全接收文件,之后将检查文件。

我知道一个HTTP request has header fields,所以我想检查那些上传文件,特别是在我的情况下,Content-Length的值。

如何做到这一点?

回答

0

你试过request.headers["content-length"]

+0

SOLUTION:if(request.headers [“CONTENT_LENGTH”]。to_i> max_size.to_i – user502052 2011-01-29 15:01:51

1

nginx是否也设置了最大文件大小?使用它作为你的“基础”,你可以确保服务器将停止一个大的文件上传。如果您担心这个问题,可以将其设置为相同的最大尺寸。