2012-03-03 13 views
9

私は 'remotipart' gemを使ってサーバー側にファイルを非同期でアップロードしています。サーバー側に渡されるインスタンスは「UploadedFile」です。'ActionDispatch :: Http :: UploadedFile'インスタンスからFileBlobを取り出す方法は?

Rails APIには、クラスのread()、open())、および属性などのすべてのメソッドが記述されていますが、Fileを取得してデータベースに格納する方法がわかりません。

Googleでは、このクラスを使用してチュートリアルを行いませんでした。

答えて

19

ほとんどの人が宝石を使ってファイルのアップロードを処理するため、これはほとんど記述されていません。

あなたのオブジェクトはfileと呼ばれています。あなたはこれを使用してパスを決定することができる:

file.tempfile.to_path.to_s 

それは/tmpに保存されていると、システムによって削除される可能性がありますので、あなたは、ファイルを移動する必要があります。これにはFileUtils.mvメソッドを使用できます。次に、ファイルの新しいパスをデータベースに追加することができます。

関連する問題