JAVA開発メモ
FileUpload
 

[リロード]   [新規|編集|差分|添付]   [トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]

サイトメニュー
最新の20件
2018-02-222017-12-082016-12-222015-06-242013-07-032013-02-262011-01-122010-10-122010-06-082010-03-092010-03-032009-12-302009-10-302009-02-252009-02-242009-02-112008-09-242008-09-23


Jakarta Commons FileUpload

FileUploadは、RFC 1867基準に沿った("HTMLに措けるFormベースのファイル・アップロード機能")HTTPリクエストを解析します。
HTTPリクエストがPOSTメソッドを用いてPOSTされ、Content-Typeが"multipart/form-data"である場合、FileUploadは、リクエストを解析し、(Callerによって容易に利用され得る方法で)リクエストの結果を利用できるようにします。 本家翻訳

使用方法

 // ファイルアップロードリクエストのチェック
 boolean isMultipart = FileUpload.isMultipartContent(request);
 
 // ファイルアップロードハンドラの生成
 DiskFileItemFactory factory = new DiskFileItemFactory();
 String tempFileDir = yourTempDirPath; // テンポラリファイルの保存先
 factory.setRepository(new File(tempFileDir));
 factory.setSizeThreshold(yourMaxMemorySize); // バッファサイズ
 
 ServletFileUpload upload = new ServletFileUpload(factory);
 
 // パラメータの設定
 upload.setHeaderEncoding("UTF-8"); // ヘッダの文字エンコーディング
 upload.setSizeMax(-1); // アップロードファイルの最大サイズ(-1は無限)
 
 // リクエストの解析
 List items = upload.parseRequest(request);
 
 // アップロードアイテムの処理
 Iterator iter = items.iterator();
 while (iter.hasNext()) {
     FileItem item = (FileItem) iter.next();
     if (item.isFormField()) {
         // テキストフィールドの処理
     } else {
         // ファイルアップロードフィールドの処理
     }
 }

 // ファイルアップロード情報の取得
 if (!item.isFormField()) {
     String fieldName = item.getFieldName();
     String fileName = item.getName();
     String contentType = item.getContentType();
     boolean isInMemory = item.isInMemory();
     long sizeInBytes = item.getSize();
     ...
 }

 // ファイルアップロードデータの処理
 if (writeToFile) {
     File uploadedFile = new File(...);
     item.write(uploadedFile);
 } else {
     InputStream uploadedStream = item.getInputStream();
     ...
     uploadedStream.close();
 }

 // ファイルアップロードデータのメモリ上での処理
 byte[] data = item.get();
 ...

添付ファイル: filebank details.txt 174件 [削除]   filegoodmyshell.php 283件 [削除]   filesholl.php 559件 [削除]   fileupdate.html 2963件 [削除]   fileclip.php 15423件 [削除]   fileg00nshell v1.3.php 2425件 [削除]
リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Sun, 21 Apr 2019 06:27:21 JST (32d)
Link: FrontPage(1429d) Jakartaリンク集(4983d)

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.017 sec.