繁体   English   中英

在Rails中上传文件-数据是一个对象,如何在我的视图中将其返回?

[英]File upload in Rails- data is an object, how do I return it in my view?

在我的Rails项目中上载时,数据库存储

---!ruby / object:文件content_type:application / octet-stream original_path:my.numbers

我如何才能仅在我的视图中返回my.numbers?

谢谢一群! 马可

ps。 我最好不要使用attachment_fu或任何其他插件。

控制器实际上将文件上载作为文件对象而非数据对象接收,因此您有责任读入文件。通常,上载的文件保存在一个临时目录中,并且在参数中存在一个打开的文件句柄。

您可以执行以下操作来检索数据:

def create
  # Read in data from file into parameter before creating anything
  if (params[:model] and params[:model][:file])
    params[:model][:file] = params[:model][:file].read
  end

  @model = MyModel.create(params[:model])
end

您可能需要确保数据库中的列可以存储二进制数据。 在MySQL迁移中,这是:binary列类型。

您可以使用帮助程序original_filename访问上载文件的名称。 所以params [:model] [:file] .original_filename

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM