html5で複数ファイルアップロード(SAStruts)その2

チュートリアルに存在するファイルアップロードをベースとして機能を拡充していく。

Super Agile Struts - Tutorial

前回の導入編により、画面こそそれっぽくなったけど、 実際にアップロードされるファイルが1件だけという問題が発生した。

今回は問題特定編。 処理の内部を見てみる。

続きを読む

html5で複数ファイルアップロード(SAStruts)その1

前回変なテンションでSAStruts環境を構築したけども、 本当にやりたかったことはこれ。

チュートリアルに存在するファイルアップロードをベースとして

Super Agile Struts - Tutorial

機能を拡充していく。

今回は導入編

続きを読む

IFRAMEを使用したAJAX風画像アップローダ(サムネイル表示付)

【よく分かる本記事執筆に至る背景】

1、もともとFileApiを利用してAjaxで画像をアップロードする仕組みが実装されていた。

2、暫定的にIE9はsubmitでのアップロードとして処理を切り替える方針でいた。

3、先の工程で、どうしてもIE9Ajax的に画面を切り替えずアップロードする必要が出てきた。(FileApiが使えるのはIE10から)

4、「IE死ね、IE死ね」とぼやきながら情報を集める羽目になる。

5、同時にFileApi(javascript)で行っていたdataUrlの作成もどうにかする必要が出てきた。

6、「IE死ね、IE死ね」とぼやきながら(ry

やりたくないけどやるべき事】

1、ファイルをサーバへ送る(画面遷移なし)

2、送信完了後にサムネイルに送信した画像を表示する。

【最終的にやった事まとめ】

1、画面に非表示のIFRAMEを埋め込む。

2、ターゲットを非表示のIFRAMEにして、ファイルアップデート処理をsubmitで行う。

3、サーバ(java)側でファイルをbase64エンコードして、dataUrlとしてクライアントに返却する。

4、レスポンスのContents-typeがapplication/jsonだとIEjson電文をダウンロードしようとするので、text/htmlに変更する。

5、サーバ側レスポンスのdataUrlからサムネイルを表示する。

続きを読む