dextuploadjk.support.common
Class FileUpload
- 最小サポートバージョン
- 1.0.0
- 最小サポート環境
- Java 17
- 説明
-
FileUpload クラスは、マルチパート(multipart/form-data)のデータ要求を処理する。
FileUploadクラスは、JSP/Servlet環境でファイルのアップロードを処理する目的で使用される。
Environment env = new Environment(); env.setCharEncoding("UTF-8"); env.setTempRepository(System.getProperty("java.io.tmpdir")); env.setDefaultRepository("/file/attach"); env.setAutoMakingDirectory(true); env.setMaxFileSize(1024 * 1024 * 20); env.setMaxTotalSize(1024 * 1024 * 50); env.setWhiteExtensions("jpg,gif,png,doc,xls,ppt,docx,xlsx,pptx,pdf,txt,zip,hwp"); env.setLicenseFilePath("/home/user/license/dextuploadjk.config"); FileUpload fileUpload = null; try { fileUpload = new FileUpload(request, env); ... fileUpload.prepare(); ... } catch (...) { ... } finally { if (fileUpload != null) fileUpload.close(); }FileUploadオブジェクトを作成すると、必ずprepareメソッドを呼び出して、アップロード要求を処理しなければならない。 prepareメソッドの呼び出しが完了すると、クライアントから送信されたデータから、一時ファイルを作成する作業が完了する。
- コンストラクタ
-
- FileUploadクラスのオブジェクトを生成する。
-
形式
public FileUpload(HttpServletRequest request) public FileUpload(HttpServletRequest request, Environment environment)
-
パラメータ
名前 形式 説明 request javax.servlet.http.HttpServletRequest HttpServletRequest オブジェクト environment dextuploadjk.engine.Environment Environment オブジェクト
- メソッド
-
getEnvironment
- アップロード設定情報を持つ Environment オブジェクトを返します。
-
形式
public Environment getEnvironment()
-
リターン
Environment オブジェクト
setEnvironment
- アップロード設定情報を持つ Environment オブジェクトを設定する。
-
形式
public void setEnvironment(Environment environment)
-
パラメータ
名前 形式 説明 environment dextuploadjk.engine.Environment Environment オブジェクト -
使い方
Environment env = new Environment(); env.setCharEncoding("UTF-8"); ... env.setLicenseFilePath("ライセンスファイルの場所"); FileUpload fileUpload = new FileUpload(request); fileUpload.setEnvironment(env);
isRemovingWhenClosing
FileUploadオブジェクトのcloseメソッドが呼び出されると、一時ファイルを削除するかどうかを返します。
-
形式
public boolean isRemovingWhenClosing()
-
リターン
デフォルト値はtrueである。
setRemovingWhenClosing
FileUploadオブジェクトのcloseメソッドが呼び出されると、一時ファイルを削除するかどうかを設定する。
-
形式
public void setRemovingWhenClosing(boolean removingWhenClosing)
-
パラメータ
名前 形式 説明 removingWhenClosing boolean 一時ファイルを削除するには、true、なければfalse -
使い方
FileUpload fileUpload = null; try { fileUpload = new FileUpload(request, env); fileUpload.setRemovingWhenClosing(false); ... dextnj.prepare(); ... } catch (...) { ... } finally { // Do not remove temporary files at close time. if (fileUpload != null) fileUpload.close(); }
close
すべてのリソースを削除する。
-
形式
public void close()
flush
-
要求データをすべて消費する。
既にprepareメソッドが呼び出された後は、flushメソッドを呼び出すと、IllegalStateException例外が発生する。
-
形式
public void flush()
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... fileUpload.flush();
prepare
-
マルチパート形式のリクエストデータから文字列データ項目を分離し、アップロードされたファイルを一時ディレクトリに保存する。
ファイルのアップロードサービスを実行するために、必ず呼び出す必要があるメソッドである。
-
形式
public void prepare()
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... fileUpload.prepare();
getMultipartCollection
- 文字列、ファイルのフィールドを持っている MultipartCollection オブジェクトを返します。
-
形式
public MultipartCollection getMultipartCollection()
-
リターン
dextuploadjk.engine.MultipartCollection オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... MultipartCollection fileUpload = dextnj.getMultipartCollection();
getFormItemCount
- 文字列フィールドの数を返します。
-
形式
public int getFormItemCount()
-
リターン
文字列フィールドの数
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... int formCount = fileUpload.getFormItemCount();
getFileItemCount
- ファイルのフィールドの数を返します。
-
形式
public int getFileItemCount()
-
リターン
ファイルのフィールド数
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... int fileCount = fileUpload.getFileItemCount();
getFormItemNames
- すべての文字列フィールド名前をjava.util.Iteratorオブジェクトを返します。
-
形式
public Iterator<String> getFormItemNames()
-
リターン
java.util.Iterator オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... Iterator<String> formNames = fileUpload.getFormItemNames();
getFileItemNames
- すべてのファイルのフィールド名前をjava.util.Iteratorオブジェクトを返します。
-
形式
public Iterator<String> getFileItemNames()
-
リターン
java.util.Iterator オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... Iterator<String> formNames = fileUpload.getFileItemNames();
getFormItem
-
指定された順序や名前に対応する FormItem オブジェクトを返します。
同じ名前のフィールドが複数存在する場合の最初のフィールドを返します。
-
形式
public FormItem getFormItem(int index) public FormItem getFormItem(String name)
-
パラメータ
名前 形式 説明 index int 順序の値 name java.lang.String 名前 -
リターン
FormItem オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... FormItem formitem = fileUpload.getFormItem(index);
getFormItemValue
-
指定された順序や名前に対応する文字列フィールドの値を返します。
-
形式
public String getFormItemValue(int index) public String getFormItemValue(String name)
-
パラメータ
名前 形式 説明 index int フォーム項目の順序 name java.lang.String フォーム名前 -
リターン
文字列フィールドの値
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... String strValue = fileUpload.getFormItemValue(index); // or String strValue = fileUpload.getFormItemValue("Form field name");
getFormItems
すべてまたは指定された名前に対応するフィールドのリスト (java.util.List<FormItem>) を返します。
-
形式
public List<FormItem> getFormItems() public List<FormItem> getFormItems(String name)
-
パラメータ
名前 形式 説明 name java.lang.String 名前 -
リターン
java.util.List<FormItem> オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... List<FormItem> formitems = fileUpload.getFormItems(); // or List<FormItem> formitems = fileUpload.getFormItems("폼名前");
getFileItem
-
指定された順序や名前に対応する FileItem オブジェクトを返します。
同じ名前のフィールドが複数存在する場合の最初のフィールドを返します。
-
形式
public FileItem getFileItem(int index) public FileItem getFileItem(String name) public FileItem getFileItem()
-
パラメータ
名前 形式 説明 index int 順序の値 name java.lang.String 名前 -
リターン
FileItem オブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... FileItem fileitem = fileUpload.getFileItem(index);
getFileItems
すべてまたは指定された名前に対応するファイルのリスト (java.util.List<FileItem>) を返します。
-
形式
public List<FileItem> getFileItems() public List<FileItem> getFileItems(String name)
-
パラメータ
名前 形式 説明 name java.lang.String 名前 -
リターン
java.util.List<FileItem>
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... List<FileItem> fileitem = fileUpload.getFileItems(); // or List<FileItem> fileitem = fileUpload.getFileItem("File field name");
saveAll
-
すべての一時ファイルを保存(move/copy)である。
We recommend using a method with the BulkSaveOption parameter.
-
形式
public void saveAll(boolean overwrite) public void saveAll(boolean overwrite, boolean copy) public void saveAll(String targetDirectoryPath) public void saveAll(String targetDirectoryPath, boolean overwrite) public void saveAll(String targetDirectoryPath, boolean overwrite, boolean copy) public void saveAll(BulkSaveOption option)
-
パラメータ
名前 形式 説明 targetDirectoryPath java.lang.String ファイルを保存する場所 overwrite boolean 目的地に同じ名前のファイルがあるとき、パラメータの値がtrueの場合上書きfalseの場合、重複していないファイル名で保存する。
DEXTUploadJKは、ファイルを保存するときは、同じファイル名を持つファイルがある場合は、自動的にsuffixの値がつく。 しかし、Webのように、同時に多くの要求を処理するシステムの場合、suffix処理にもかかわらず、同じファイル名が生成される可能性が高い。 したがって、overwrite引数の値がデフォルト値もしくはfalseの場合でも、多くの場合、ファイルの書き込みに失敗したエラーが発生する。 このような状況を最大限に回避するには、元のファイル名のまま保存しないで、可能な限り重複が発生していない名前に指定しなければならない。
copy boolean パラメータの値がtrueの場合、ファイルの保存後に、一時ファイルを削除しない。 falseの場合は保存完了後、すぐに一時ファイルを削除する。
option BulkSaveOption 一時ファイルの保存に必要なオプションを設定するBulkSaveOptionオブジェクト
-
使い方
FileUpload fileUpload = new FileUpload(request, env); ... // 最も基本的な全体を保存する方法 fileUpload.saveAll(); // 方法2 fileUpload.saveAll("/home/user/others/"); // 方法3 fileUpload.saveAll("/home/user/others/", true); // 方法4 fileUpload.saveAll("/home/user/others/", true, true); // 方法5 BulkSaveOption option = new BulkSaveOption(); option.setTargetDirectoryPath("/home/user/others/"); option.setOverwrite(true); option.setCopy(true); fileUpload.saveAll(option);