Eclipse 4.4ではじめる Javaプログラミング入門 Eclipse 4.4 Luna対応

サーブレットの基本と開発 - サーブレット開発を行う

Icon comment count 0
Icon stock count 1

6.2.5ファイルのアップロード

ダウンロードができるなら、ファイルのアップロードもできるんじゃないか――そう思った人も多いことでしょう。getOutputStreamと同様のメソッドがHttpServletには用意されており、それを使って入力ストリームからファイルを受け取る。こうしたやり方でファイルを受け取ることは可能です。ただし、ファイルをフォームなどから送信する場合、マルチパートと呼ばれる複数のパートからなるデータとして送られるため、送信されたデータを解析して必要な部分を取り出すという面倒な処理が必要となってしまいます。

こうした問題を解決するものとして、Servlet 3.0から新たにファイルのアップロードを扱う専用クラスが用意されることになりました。Partというもので、これは文字通り、マルチパートで送られるフォームの各部分のデータをここに取り出して操作するためのものです。これを利用することで、非常に簡単にファイルのアップロード処理が実装できます。

ただし! 単純にアップロードされたファイルを保存するというだけならシンプルに実装できますが、アップロードしたファイル名を使ってサーバー側に保存するような場合、送られたデータのヘッダー情報からファイル名の部分を取り出すなどの処理が必要となります。

このあたりはMIMEのデータ構造についての知識がないと難しいのですが、とりあえず

コメント

    コメントはありません