我将图像存储在Mongodb中的fs.files和fs.chunks集合中,并希望在我使用Ruby on Rails构建的网站上呈现这些图像。
我已经安装了mongoid-grid_fs gem(https://github.com/ahoward/mongoid-grid_fs)和mongoid gem(4.0.0)并尝试在rails控制台上测试它,但图像的数据uris似乎没有工作。
f = Mongoid::GridFs.get('551dd9bde4b0adc8adcebc27')
=> #<Mongoid::GridFs::Fs::File _id: 551dd9bde4b0adc8adcebc27, length: 1793437, chunkSize: 261120, uploadDate: 2015-04-03 00:07:25 UTC, md5: "4deeaab5116771bc838d522b63712423", filename: "f54f40db-50a6-474d-9310-bd42fd44dab5", contentType: "application/octet-stream", aliases: nil, metadata: {"_id"=>"f54f40db-50a6-474d-9310-bd42fd44dab5", "media_id"=>"e916e264-61a9-4d69-8b70-4834cbcae75e", "size"=>1793437, "content_type"=>"application/octet-stream"}>
f.data_uri
=> "data:application/octet-stream;base64,IzxNb25nb2lkOjpHcmlkRnM6OkZzOjpGaWxlOjB4MDAwMDAwMDQ1OGQ1Mjg+"
然后,当我将数据uri粘贴到浏览器上时,下载了一个文件。当我打开它时,只有如下所示的一行。
"#<Mongoid::GridFs::Fs::File:0x0000000458d528>"
当我使用decode64为数据uri返回控制台时,出现了相同的行。
Base64.decode64('IzxNb25nb2lkOjpHcmlkRnM6OkZzOjpGaWxlOjB4MDAwMDAwMDQ1OGQ1Mjg+')
=>"#<Mongoid::GridFs::Fs::File:0x0000000458d528>"
我对Mongodb不太熟悉,想知道如何获得图像的工作数据uris。非常感谢任何帮助,非常感谢〜!