0

sinatra-activerecordを使ってイメージをデータベースに保存しようとしています。ファイルを保存して返す方法

Photo.create(photo:params[:image][:tempfile].read) 

をしかし、私はそれを返すようにしようとすると、私は実際に私が見るには、ブラウザが起こっているURLに行くと、ブラウザではなく、画像のアイコンを示し、そして:現在(と思う)保存が正しく機能していますランダムな文字の混乱。これをどのように機能させることができますか?なぜ私は働いているのですか?ここで

は、私はそれを返すようにしようとしている方法です:

file = Tempfile.new('photo') 
file.write(Photo.find(params[:id]).photo) 
return file 

答えて

0

うわー、私はあなたがすでに@thesecretmasterこのことを知らなかった信じることができない、それは(あなたが提出content-typeを保存されている必要があることは明らかですparams[:image][:type])、return fileの場合は、保存されているバイナリイメージを再調整する前にcontent_type <previously saved content-type>を設定してください。また、まだこれをやっていない場合は、params[:image][:tempfile].readをactiverecordにバイナリタイプで保存するか、またはAttributteErrorという種類のものを入手する必要があります。

関連する問題