2

Heroku でホストされている Sinatra アプリケーションがあり、ファイルのアップロードを有効にしようとしています。Heroku ではファイル システムへの保存が許可されていないことを知っているので、GridFS を直接使用して画像を MongoDB に保存しようとしています。しかし、方法がわかりません。以下のコードを使用して、ファイル システムに保存できます。

base_dir = Dir.pwd + "/static/images/channels/"
File.open("#{base_dir}" + params['logo'][:filename], "w") do |f|
  f.write(params['logo'][:tempfile].read)
end

最初にファイル システムに保存せずに、ファイルを MongoDB に直接保存するにはどうすればよいですか?

4

3 に答える 3

4

GridFS API を使用して基本的に上記のことを行うことができますが、MongoDB に書き込みます: http://api.mongodb.org/ruby/current/Mongo/GridFileSystem.html#open-instance_method

于 2012-12-07T15:57:21.827 に答える
0

ファイルをバイナリデータとしてデータベースにアップロードする必要があると思います。を使用PaperClipしてファイルをアップロードし、バイナリとして MangoDB に保存できます。ここで、このリンクがあなたを助けるかもしれません:

于 2012-11-29T08:07:56.730 に答える