gpt4 book ai didi

ruby-on-rails - 在 Rails 中,我在哪里可以保存上传的文件?

转载 作者:行者123 更新时间:2023-12-03 15:59:49 25 4
gpt4 key购买 nike

我试图在 Rails 中找到文档文件处理,但没有成功。这是指向 File 类的链接(由 file_filed_tag 的文档指定):
http://api.rubyonrails.org/classes/File.html

我认为必须有一组更好的源文档。我的主要问题是我可以在哪里保存不可公开访问的文件。我有兴趣暂时将文件上传的文件用于用户的“向导”之类的目的。

最佳答案

Rails 处理文件上传的方式与任何 Web 框架非常相似:它将文件上传的处理留给您正在使用的 Web 服务器(Apache、Nginx 等)。然后,当文件上传完成时,它会为您的框架提供上传文件的位置(通常是临时文件)(以及 MIME 类型之类的东西)。由您决定如何处理该文件。 Rails 通过在您的 Controller 中为您提供一个 Ruby File 对象来实现这一点。

如果您使用像“回形针”这样的 gem,它可以让您更好地控制开箱即用的文件,而不仅仅是自己处理它,您可以自动调整图像大小或其他上传后 Hook ,非常值得一看进入。

如果您选择自己执行此操作,则需要使用 File 对象(临时文件)并将其写入不同位置的 Controller 代码。因此,如果您有一个包含文件的多部分 Web 表单:

<%= form_tag({:action => :upload}, :multipart => true) do %>
<%= file_field_tag 'picture' %>
<% end %>

你最终会得到一个 picture参数哈希中的对象:
params[:picture]

那是临时文件。 Rails 提供了两种额外的方法来确定原始文件名和 MIME 类型:
params[:picture].original_filename
params[:picture].content_type

关于ruby-on-rails - 在 Rails 中,我在哪里可以保存上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com