Jsp-file-uploading
JSP-ファイルのアップロード
この章では、JSPでのファイルのアップロードについて説明します。 JSPをHTMLフォームタグとともに使用して、ユーザーがファイルをサーバーにアップロードできるようにすることができます。 アップロードされるファイルは、テキストファイル、バイナリファイル、画像ファイル、または単なるドキュメントです。
ファイルアップロードフォームの作成
ファイルアップロードフォームの作成方法を理解しましょう。 次のHTMLコードは、アップローダーフォームを作成します。 以下は、注意すべき重要な点です-
- フォームの method 属性は POST methodに設定する必要があり、GETメソッドは使用できません。
- フォームの enctype 属性は multipart/form-data に設定する必要があります。
- フォームの action 属性は、バックエンドサーバーでのファイルのアップロードを処理するJSPファイルに設定する必要があります。 次の例では、 uploadFile.jsp プログラムファイルを使用してファイルをアップロードしています。
- 単一のファイルをアップロードするには、属性 type = "file" を持つ単一の <input …/> タグを使用する必要があります。 複数のファイルのアップロードを許可するには、name属性に異なる値を持つ複数の入力タグを含めます。 ブラウザは、それぞれに[参照]ボタンを関連付けます。
これにより、次の結果が表示されます。 これで、ローカルPCからファイルを選択でき、ユーザーが[ファイルのアップロード]をクリックすると、選択したファイルとともにフォームが送信されます-
注-上記のフォームは単なるダミーフォームであり、動作しません。マシンで動作するようにするには、上記のコードを試してください。
バックエンドJSPスクリプトの作成
アップロードされたファイルが保存される場所を定義しましょう。 あなたのプログラムでこれをハードコーディングするか、このディレクトリ名は、次のようにweb.xmlの context-param 要素などの外部構成を使用して追加することもできます-
以下は UploadFile.jsp のソースコードです。 これにより、一度に複数のファイルのアップロードを処理できます。 ファイルのアップロードに進む前に、次のことを考慮しましょう。
- 次の例は FileUpload に依存しています。クラスパスに commons-fileupload.x.x.jar ファイルの最新バージョンがあることを確認してください。 [[1]]
- FileUploadはCommons IOに依存しています。クラスパスに commons-io-x.x.jar ファイルの最新バージョンがあることを確認してください。 [[2]]
- 次の例をテストするときは、_maxFileSize_よりも小さいサイズのファイルをアップロードする必要があります。アップロードしない場合、ファイルはアップロードされません。
- 事前にディレクトリ c:\ temp および c:\ apache-tomcat5.5.29 \ webapps \ data を作成したことを確認してください。
次に、上記で作成したHTMLフォームを使用してファイルをアップロードしてみます。 http://localhost:8080/UploadFile を実行すると、次の結果が表示されます。 これは、ローカルマシンからファイルをアップロードするのに役立ちます。
JSPスクリプトが正常に機能する場合、ファイルは c:\ apache-tomcat5.5.29 \ webapps \ data \ ディレクトリにアップロードする必要があります。