编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   
 使用DataMapper存储二进制文件
指数 -> 编程,Ruby. -> 红宝石的帮助
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
DTY.




邮政发布: 2009年8月19日星期三10:51 AM  post主题:使用dataMapper存储二进制文件

在DataMapper数据库中存储二进制文件的最佳方法是什么?它们不会太大,只是三种尺寸的图像,最大的是300x300(JPEG)。
我试图寻找一个专门执行此操作的扩展,但没有任何东西。
我认为它可能会努力存储一个rmagick编组对象,因为我只会直接使用imagemagick的图像。 (如果存储实际文件需要能够直接加载数据库,我假设RM有一种从字符串加载图像的方法?)
我要使用Heroku部署它,因此我无法访问文件系统。
赞助
赞助
赞助
赞助
托尼




邮政发布: 2009年8月19日星期三11:05 AM  post主题:Re:使用dataMapper存储二进制文件

您确定要在数据库中存储图像吗?外部文件系统(例如S3)是一个流行的选择,尽管我不熟悉您可以超越附件_FU(ROR插件)的工具,我假设不适用。
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
DTY.




邮政发布: 2009年8月19日星期三11:25 AM  post主题:Re:使用dataMapper存储二进制文件

我不想使用外部存储,当我没有连接时,我希望能够在本地工作。我想这是一个选择。我不想支付存储费用,该项目主要用于我的个人使用。
我认为使用远程存储不会比使用PostgreSQL数据库更快。输出将是相当静态的,所以Heroku将缓存它,所以拉动图像不需要快速。

我邓诺,如果它会有所帮助,但我正在研究最后一张专辑拼贴类型 ,除了没有专辑艺术的跳过相册,选择不同的尺寸。
吉安尼




邮政发布: 2009年8月19日星期三11:34 AM  post主题:Re:使用dataMapper存储二进制文件

将数据库中的图像(或几乎任何二进制文件)进行皱眉。有很少的合法用例 - 可以接受。

也许你可以升级你的heroku计划,或使用不同的服务器/主机?
DTY.




邮政发布: 2009年8月19日星期三11:52 AM  post主题:Re:Re:使用DataMapper存储二进制文件

Gianni @ 2009年8月19日星期三11:34写道:
将数据库中的图像(或几乎任何二进制文件)进行皱眉。有很少的合法用例 - 可以接受。

也许你可以升级你的heroku计划,或使用不同的服务器/主机?

Afaik,没有Heroku计划允许文件系统访问,它是他们聚类系统的一部分或其他东西。
是否有任何其他免费的Ruby托管计划将让我运行机架应用程序?

[编辑]我意识到每个其他这个程序都需要一个互联网连接来做任何事情,所以可能是外部存储可能有效

[编辑2]实际上,每次生成时,它可能值得重新加载来自Last.fm的图像。 Heroku将缓存每个最终图像,所以我不认为从last.fm中抓取图像将是太多带宽。
我不知道last.fm是否会喜欢..他们请求您缓存的东西,以便您没有提出大量请求。 Heroku没有缓存出来的HTTP请求,是吗?
Rizzix.




邮政发布: 2009年8月19日星期三下午2:21  post主题:Re:使用dataMapper存储二进制文件

我不知道是否提到了这一点,但你可以:base64 encode(缩小(图像))

然后将结果存储为数据库中的CLOB。

只是膨胀(base64decode(clob))以获取图像。

注意:我不确定ruby中的确切函数名称是什么。
DTY.




邮政发布: 2009年8月19日星期三下午2:45  post主题:Re:Re:使用DataMapper存储二进制文件

Rizzix @ 2009年8月19日星期三2:21 PM写道:
我不知道是否提到了这一点,但你可以:base64 encode(缩小(图像))

然后将结果存储为数据库中的CLOB。

只是膨胀(base64decode(clob))以获取图像。

注意:我不确定ruby中的确切函数名称是什么。

我从未想过Base64,谢谢!
托尼




邮政发布: 2009年8月19日星期三下午3:22  post主题:Re:使用dataMapper存储二进制文件

如果您必须,Base64是最简单的方式。

问题是,最终您将从DB中解压缩数据并在临时目录中创建新的图像文件(在磁盘上)。并且由于它将是临时文件,因此必须将其标记为客户端的“do-not-cache”。
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
赞助
赞助
赞助
赞助
从上一个显示帖子:   
   指数 -> 编程,Ruby. -> 红宝石的帮助
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 8 Posts ]
跳到:   


Style:  
搜索: