JSPでファイルをアップロードする方法【初心者向けにわかりやすく解説】
JSPでファイルをアップロードする方法
Webアプリケーション開発では、ユーザーが画像やドキュメントなどのファイルをサーバーへ送信できる機能が求められることが多くあります。この記事では、JSP(JavaServer Pages)を使ってファイルをアップロードする基本的な手順を、初心者の方にもわかりやすく解説します。
1. 必要なライブラリを準備する
JSPでファイルアップロードを実装するには、Apache Commons FileUpload および Apache Commons IO のライブラリが必要です。以下のJARファイルをダウンロードし、プロジェクトの WEB-INF/lib フォルダに配置しましょう。
- commons-fileupload-x.x.jar
- commons-io-x.x.jar
2. アップロード用のHTMLフォームを作成する
ファイルを送信するフォームでは、enctype 属性に「multipart/form-data」を指定し、メソッドは「POST」に設定する必要があります。これは最も重要なポイントです。
<form action="upload.jsp" method="post" enctype="multipart/form-data">
ファイルを選択:<input type="file" name="file" /><br/>
<input type="submit" value="アップロード" />
</form>
3. JSP側でアップロードを処理する
次に、Apache Commons FileUpload を使って、送信されたファイルを受け取りサーバーに保存する処理を記述します。
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
String filePath = application.getRealPath("/") + fileName;
item.write(new File(filePath));
out.println("アップロードが完了しました:" + fileName);
}
}
%>
実装時の注意点
- フォームの
enctypeは必ず「multipart/form-data」に設定する - 保存先ディレクトリへの書き込み権限があるか確認する
- セキュリティ対策として、ファイル名や拡張子の検証を行う
- 大きなファイルを扱う場合は、アップロードサイズの上限を設定する
より詳細な手順や完全なサンプルコードについては、以下のチュートリアルページが参考になります。
-
Windows 10のPowerShellでファイルをダウンロードする方法【コマンド例付き】
Windows 10に搭載されているWindows PowerShellは、コマンドプロンプトをはるかに上回る機能を持つ強力なツールです。OSに対してより高度な操作と制御を提供できるため、近い将来コマンドプロンプトに取って代わるとも言われています。Microsoftが開発したPowerShellは、タスクの自動化や構成管理を目的としたツールで、.NET Frameworkをベースに、コマンドラインインターフェースとスクリプト言語を備えています。 PowerShellでファイルをダウンロードする手順 ここでは、シンプルなコマンドを使って、Windows PowerShellからインターネット上の
-
MacでISOファイルをCD/DVDに書き込む3つの方法|Finder・ディスクユーティリティ・ターミナル
MacでISOイメージファイルをCDやDVDに書き込みたいと思ったことはありませんか?Windows 8/10では追加ソフトなしでISOイメージのマウントや書き込みができるように、OS Xでも同様のことが標準機能だけで行えます。 OS XでISOイメージを書き込む方法はいくつかあり、インストールされているバージョンによって使い分けるのがおすすめです。ここ数年は「ディスクユーティリティ」を使ってISOイメージをマウントし、ディスクに書き込むのが一般的でした。 しかし、OS X 10.11 El Capitan以降、Appleはディスクユーティリティから書き込み機能を削除しました。El Capit