2011-01-29 24 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是否也設置了最大文件大小?使用它作爲你的「基礎」,你可以確保服務器將停止一個大的文件上傳。如果您擔心這個問題,可以將其設置爲相同的最大尺寸。