ファイルアップロードを含む投稿に失敗した場合に
画像を再セットしなくてすむUIを作りたいです
file_field から送ったパラメーターは ActionDispatch::Http::UploadedFile
というクラス名でフォームにやってくるんですが
このモデルから(サーバー側で一切保存せずに)再度画像のプレビューを表示する方法はないでしょうか
https://teratail.com/questions/183092
ここで file_field に値を再セットするのはセキュリティの都合で無理だと教えていただいたんですが
https://teratail.com/questions/183429
こちらの質問でローカルファイルではなく Blob や File オブジェクトをもっていれば
file_field に再セットする(表示は変えられないけど submit するとデータは送られる)ということは確認しました
なのでプレビューを image_tag で再表示して選択している状態にみせかけて
file_field にその画像のデータをセットすればデフォルトで選択しているようにみせつつそのデータも再送信できると考えます
データ自体は送られてきているので
javascript で Blob オブジェクト?を生成してそのURLをimage_tag にうめこむような
Javascript 自体を生成してうめこめばできるような気がするんですが
ActionDispatch::Http::UploadedFile 型からどうやって画像データを取り出すか
そのバイナリ文字列から Blob を作成するような Javascript をどうかけばいいかがわかりません
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/04/19 13:58