- ベストアンサー
Javaでファイルアップロード(画像)とリサイズを行う方法
- Javaを使ってファイルアップロード(画像)とリサイズを行う方法について説明します。
- jQueryのプラグインを使用して非同期で画像をアップロードし、リサイズして専用のフォルダに保存します。
- データベースに画像のパスを保存し、レスポンスとしてURLを返します。このURLを使用してJSPで画像を表示することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
リンク先のコードを見ましたが、Playのコントローラのアクションメソッドとして定義してありますね。PlayはMVCフレームワークですので、サーバーにアクセスした際の処理はコントローラーにアクションとして実装されます。 通常は、フレームワークなど使わないのであれば、サーブレットとして実装するはずです。したがって、uploadの処理をサーブレットのdoPostあるいはdoGetメソッドに実装し、そのURIにアップロードする形になると思います。 @WebServlet("/hoge") @SuppressWarnings("serial") public class クラス名 extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { ……ここにアップロードの処理を移植する…… } } こんな感じになるでしょう。 ただし、参照ページはPlayを使っているため、受け取ったファイルをFileとしてそのまま取り出すようになっていますが、サーブレットならば送信されたファイルを受取り保存する処理は自分で実装しないといけません。 for(Part part :request.getParts()){ Reader readerr = new InputStreamReader(part.getInputStream() ,"UTF-8"); ……readerから取り出し保存する処理…… reader.close(); } servlet 3.0ならざっとこんな流れで送信されたデータを取り出せるので、それをファイルに書き出して生成します。 イメージの縮小は、おそらくImageIOでイメージを読み込み、縮小されたBufferedImageを作って保存する、といった流れになるでしょう。 ……改めて見てみると、すべて新たに書き直し、ですね。参考URLのコードはサーブレットで作るならほぼ使えないでしょう。
お礼
ありがとうございました。 宜しければこちらの質問にも回答頂けないでしょうか? http://okwave.jp/qa/q7555204.html