如何检查“内容长度”字段使用 Ruby on Rails 3 的 HTTP 请求?

发布于 2024-10-15 01:38:59 字数 480 浏览 7 评论 0原文

我正在使用 Ruby on Rails 3,在我的视图文件中我有以下代码:

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

为了避免服务器过载,我会在服务器接收上传文件之前检查上传文件的大小。这是因为,按下表单的提交按钮,服务器会先完整接收文件,然后再检查文件。

我知道 HTTP 请求有标头字段,所以我想检查上传文件的标头字段,特别是在我的例子中,Content-Length 值。

如何做到这一点?

I am using Ruby on Rails 3 and in a my view file I have this code:

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

In order to avoid an overloading of the server, I would check the size of the uploading file before that the server receives it. This is because, pressing the submit button of the form, the server first will entirely receive the file and after will check the file.

I know that a HTTP request has header fields, so I would like to check those for the uploading file, in particular, in my case, the Content-Length value.

How to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星星的轨迹 2024-10-22 01:38:59

您尝试过 request.headers["content-length"] 吗?

Did you try request.headers["content-length"] ?

凶凌 2024-10-22 01:38:59

nginx 没有设置最大文件大小吗?使用它作为您的“基础”,您可以确保服务器将停止大文件上传。如果您担心这一点,可以将其设置为相同的最大尺寸。

Doesn't nginx set a max file size too? Using that as your 'base' you can assure that the server will stop a big ass file upload. Maybe set it to the same max size if you are worried about this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文