如何将磁盘上的图像插入数据库表?

时间:2012-01-23 15:56:23

标签: mysql ruby

我的文件系统上有一个图像,我想使用Ruby在数据库中更新它。

我正在使用ActiveRecord。

示例代码:

table.picture = File.open("Imagefilepath", "r+").read()

我可以在数据库表中看到一个blob条目,但是当我尝试从数据库中读取文件时,所有图像都已损坏。

1 个答案:

答案 0 :(得分:1)

尝试添加"b"选项:

table.picture = open("Imagefilepath", "rb") {|io| io.read }

或者,如果您使用的是ruby 1.9,则可以使用Symbol#to_proc:

table.picture = open("Imagefilepath", "rb", &:read)