Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rails二进制流支持大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我即将开始一个项目,需要支持大型的二进制文件.我想使用Ruby on Rails作为webapp,但我关心BLOB的支持.根据我对其他语言,框架和数据库的了解,BLOB经常被忽视,因此具有差,难,和/或错误的功能.

RoR是否充分发布BLOB?一旦您已经致力于Rails,是否有任何障碍?

BTW:我想使用PostgreSQL和/或MySQL作为后端数据库.显然,底层数据库中的BLOB支持很重要.目前,我想避免专注于DB的BLOB功能;我对Rails本身的反应更感兴趣.理想情况下,Rails应该从我隐藏数据库的细节,所以我应该可以从一个切换到另一个.如果不是这种情况(即:使用特定DB的Rails有一些问题),请提及它.

更新:此外,我不只是在这里谈论ActiveRecord.我需要处理http端的二进制文件(文件上传有效).这意味着通过Rails访问适当的http头和流.我已经更新了问题标题和描述,以反映这一点.

解决方法

1为attachment_fu

我在我的一个应用程序中使用attachment_fu,并且必须将数据存储在数据库中(因为令人讨厌的原因超出了本Convo的范围).

我发现(BLOG)的(一个)棘手的事情是,你需要一个单独的代码路径来发送数据给用户 – 你不能简单地在文件系统上一个路径,就像你会是一个简简文件.

例如如果您存储头像信息,您不能简单地做:

<%= image_tag @youruser.avatar.path %>

你必须编写一些封装逻辑并使用send_data,例如(以下只是一个例子,附件_fu,实际上你需要干这个)

send_data(@youruser.avatar.current_data,:type => @youruser.avatar.content_type,:filename => @youruser.avatar.filename,:disposition => 'inline' )

不幸的是,据我所知,attachment_fu(我没有最新版本)没有为你做巧妙的包装 – 你必须自己写.

附:看到你的问题编辑 – Attachment_fu处理你提到的所有烦人的东西 – 关于需要知道文件路径和所有的废话 – 除了存储在数据库中的一个小问题.试一试;这是rails应用的标准.如果你坚持重新创造轮子,附件的源代码应该记录大部分的错误!

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – Rails二进制流支持全部内容,希望文章能够帮你解决ruby-on-rails – Rails二进制流支持所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。