devpia.dextuploadnj
Interface FileItem
- サポートされる最小バージョン
- 1.0.0
- 最小サポート環境
- JRE 1.6
- 説明
-
FileItemはFieldItemインタフェースを継承したインタフェースとしてマルチパートデータからファイルの要素についての情報を扱う。
FileUpload dextnj = new FileUpload(request, env); dextnj.prepare(); ... // FileItemオブジェクトの数を返します。 int formCount = dextnj.getFileItemCount(); // FileItemオブジェクトを指すフィールド名前を返します。 Iterator<String> iterator = dextnj.getFileItemNames(); // 0番目FileItemオブジェクトを返します。 FileItem item = dextnj.getFileItem(0); // 「name」フィールド名を持つ最初のFileItemオブジェクトを返し FileItem item = dextnj.getFileItem("name"); // 「attachements」名前を持つすべてのFileItemオブジェクトを返します。 List<FileItem> orders = dextnj.getFileItems("attachements"); // すべてのFileItemオブジェクトを返します。 List<FileItem> orders = dextnj.getFileItems(); - メソッド
-
FieldItemインターフェースのgetFieldNameメソッドを参照すること。
FieldItemインターフェースのgetItemTypeメソッドを参照すること。
isEmpty
-
空のファイルであるかどうかを返します。
空のファイルとは、フィールドは存在するが、実際のファイル情報がない場合である。長さ0のファイルの場合にはfalseがリターンになる。
-
形式
boolean isEmpty()
-
リターン
空のファイルであればtrue、なければfalse
getFilename
-
ファイル名前を返します。
-
形式
String getFilename()
-
リターン
ファイル名前(親パスを含んでいない。)
getFilenameWithoutExtension
-
拡張子が削除されたファイル名前を返します。
-
形式
String getFilenameWithoutExtension()
-
リターン
拡張子が削除されたファイル名前(親パスを含んでいない。)
getContentType
-
ファイル形式(MIME-TYPE)を返します。
ファイル形式は、データ転送時にクライアントが決定した事項なので、ファイルの種類を区別する指標として使用することは難しい。
-
形式
String getContentType()
-
リターン
ファイル形式(MIME-TYPE)、ex)image/png
getTempFilePath
-
一時ファイルのパスを返します。
-
形式
String getTempFilePath()
-
リターン
一時ファイルのパ
getTempFile
-
一時ファイルオブジェクトを返します。
-
形式
File getTempFile()
-
リターン
一時ファイルを表すjava.io.Fileオブジェクト
getFileSize
-
ファイルのサイズを返します。
-
形式
long getFileSize()
-
リターン
ファイルサイズ、デフォルトは-1である。
getOriginalFileSize
-
ファイルの元のサイズを返します。
FilterAction設定がFlushingにされた場合には、フィルタリングされたファイルのサイズは0 byteとなる。 フィルタリングされたファイルのサイズを知りたいときgetOriginalFileSizeメソッドを使用すれば、元のサイズを知ることができる。
-
形式
long getOriginalFileSize()
-
リターン
ファイルサイズ、デフォルトは-1である。
isEligibleFile
-
isEmptyリターン値がfalseであり、getFileSize値が0よりも大きい場合にのみ、trueがリターンになる。
-
形式
boolean isEligibleFile()
-
リターン
true, false
getExtension
-
ファイルの拡張子を返します。
-
形式
String getExtension()
-
リターン
'.'を含むファイルの拡張子名、拡張子名がない場合は、空の文字列がリターンになる。
getLastSavedFilePath
-
save、saveAsのようなメソッドを使用してファイルを保存したとき、保存されたファイルのフルパスを返します。
-
形式
String getLastSavedFilePath()
-
リターン
保存されたファイルのフルパス
getLastRelativeSavedFilePath (バージョン2.13.0からサポート)
-
save や saveAs などのメソッドを呼び出した後に、保存されたファイルへの相対パスを返します。
-
形式
String getLastRelativeSavedFilePath()
-
リターン
デフォルトの保存パスのサブパスを返します。デフォルトの保存パスのサブパスでない場合は、ファイルへのフルパスを返します。
getLastSavedFilename
-
save、saveAsのようなメソッドを使用してファイルを保存したとき、保存されたファイルの名前を返します。
-
形式
String getLastSavedFilename()
-
リターン
保存されたファイルの名前
deleteTempFile
-
一時ファイルを削除する。
このメソッドを呼び出すと、一時ファイルが削除され、一時ファイルの情報も一緒に削除される。 一時ファイルがなくても、エラーが発生しない。
-
形式
void deleteTempFile()
saveAs
-
一時ファイルを先に保存する(move、copy)する。
元のファイル名と異なるファイル名に変更して保存するときに使用する。
-
形式
String saveAs(String targetFilename) String saveAs(String targetFilename, boolean overwrite) String saveAs(String targetFilename, boolean overwrite, boolean copy) String saveAs(String targetDirectoryPath, String targetFilename) String saveAs(String targetDirectoryPath, String targetFilename, boolean overwrite) String saveAs(String targetDirectoryPath, String targetFilename, boolean overwrite, boolean copy)
-
パラメータ
名前 形式 説明 targetDirectoryPath java.lang.String ファイルを保存するディレクトリへのパス targetFilename java.lang.String 保存するファイル名 overwrite boolean 目的地に同じ名前のファイルがあるとき、パラメータの値がtrueの場合上書きfalseの場合、重複していないファイル名で保存する。
DEXTUploadNJは、ファイルを保存するときは、同じファイル名を持つファイルがある場合は、自動的にsuffixの値がつく。 しかし、Webのように、同時に多くの要求を処理するシステムの場合、suffix処理にもかかわらず、同じファイル名が生成される可能性が高い。 したがって、overwrite引数の値がデフォルト値もしくはfalseの場合でも、多くの場合、ファイルの書き込みに失敗したエラーが発生する。 このような状況を最大限に回避するには、元のファイル名のまま保存しないで、可能な限り重複が発生していない名前に指定しなければならない。
copy boolean パラメータの値がtrueの場合、ファイルの保存後に、一時ファイルを削除しない。falseの場合は保存完了後、すぐに一時ファイルを削除する。
-
リターン
保存されたファイルのフルパス
-
使い方
// 一時ファイルのパスが「/home/user/temp/temp_name.txt」で、デフォルトの保存ディレクトリが「/home/user/files」なら、一時ファイルを「/home/user/files/uploaded_file.txt」のパスに保存する。 item.saveAs("uploaded_file.txt"); // 一時ファイルのパスが「/home/user/temp/temp_name.txt」で、デフォルトの保存ディレクトリが「/home/user/files」のとき、ディレクトリのパスを変更して、一時ファイルを「/home/user/others/uploaded_file.txt」パスに保存する。 item.saveAs("/home/user/others/", "uploaded_file.txt");
save
-
一時ファイルを先に保存する(move、copy)する。
元のファイル名と同じファイル名で保存するときに使用します。
-
形式
String save() String save(boolean overwrite) String save(boolean overwrite, boolean copy) String save(String targetDirectoryPath) String save(String targetDirectoryPath, boolean overwrite) String save(String targetDirectoryPath, boolean overwrite, boolean copy) String save(FileSaveOption option)
-
パラメータ
名前 形式 説明 targetDirectoryPath java.lang.String ファイルを保存するディレクトリへのパス overwrite boolean 目的地に同じ名前のファイルがあるとき、パラメータの値がtrueの場合上書きfalseの場合、重複していないファイル名で保存する。
DEXTUploadNJは、ファイルを保存するときは、同じファイル名を持つファイルがある場合は、自動的にsuffixの値がつく。 しかし、Webのように、同時に多くの要求を処理するシステムの場合、suffix処理にもかかわらず、同じファイル名が生成される可能性が高い。 したがって、overwrite引数の値がデフォルト値もしくはfalseの場合でも、多くの場合、ファイルの書き込みに失敗したエラーが発生する。 このような状況を最大限に回避するには、元のファイル名のまま保存しないで、可能な限り重複が発生していない名前に指定しなければならない。
copy boolean パラメータの値がtrueの場合、ファイルの保存後に、一時ファイルを削除しない。falseの場合は保存完了後、すぐに一時ファイルを削除する。
option FileSaveOption (バージョン2.7.0からサポート)一時ファイルの保存に必要なオプションを設定するためのFileSaveOptionオブジェクト
-
リターン
保存されたファイルのフルパス
-
使い方
// 一時ファイルのパスが「/home/user/temp/temp_name.txt」で、デフォルトの保存ディレクトリが「/home/user/files」なら、一時ファイルを「/home/user/files/temp_name.txt」のパスに保存する。 item.save(); // 一時ファイルのパスが「/home/user/temp/temp_name.txt」で、デフォルトの保存ディレクトリが「/home/user/files」のとき、ディレクトリのパスを変更して、一時ファイルを「/home/user/others/temp_name.txt」パスに保存する。 item.save("/home/user/others/"); // item.save("/home/user/others/")と同じ FileSaveOption option = new FileSaveOption(); option.setTargetDirectoryPath("/home/user/others/"); item.save(option);
getFileCopyOption (バージョン1.1.0からサポート)
-
ファイルをコピーする方法を返します。
-
形式
FileCopyOption getFileCopyOption()
-
リターン
デフォルトFileCopyOption.Channel
setFileCopyOption (バージョン1.1.0からサポート)
-
ファイルをコピーする方法を設定する。
コピーの方法は、FileCopyOption列挙型を参照すること。
Environment#setFileCopyOptionメソッドは、ファイルをコピーするすべての操作に影響を与えますが、FileItemインターフェースのsetFileCopyOptionメソッドは、現在のファイルの操作にのみ影響を与える。
-
形式
void setFileCopyOption(FileCopyOption fileCopyOption)
-
パラメータ
名前 形式 説明 fileCopyOption devpia.dextuplodnj.FileCopyOption ファイルをコピーする方法を示す列挙値である。 -
使い方
// ストリームのコピー方式に設定する。 item.setFileCopyOption(FileCopyOption.Stream);
get (バージョン2.1.1からサポート)
-
ファイルデータを返します。
メモリが不足している場合は、例外が発生することができ、最大2GBまでしかサポートします。
-
形式
byte[] get(boolean caching)
-
パラメータ
名前 形式 説明 caching boolean パラメータの値がtrueの場合、ファイルからデータを読んだ後、itemオブジェクトの内部にファイルデータをキャッシュする。
もしキャッシュされたデータがある場合は、ファイルを読まずにメモリにキャッシュされたデータをコピーして返します。
-
リターン
ファイルデータを表すバイト配列オブジェクト
-
使い方
// ファイルのデータをバイト配列にリターンで、データを内部的にキャッシュするようにす byte[] data = item.get(true);
isCached (バージョン2.1.1からサポート)
-
キャッシュされたファイルのデータがあるかどうかを返します。
-
形式
boolean isCached()
-
リターン
キャッシュされたデータがある場合はtrue、なければfalseである。
removeCache (バージョン2.1.1からサポート)
-
キャッシュされたファイルのデータを削除する。
-
形式
void removeCache()
getEnvironment (バージョン2.5.0からサポート)
-
ファイルアップロード構成値を含むEnvironmentオブジェクトを返します。
-
形式
Environment getEnvironment()
-
リターン
Environmentオブジェクト
isFiltered (バージョン2.5.0からサポート)
-
ファイルがフィルタリングされたターゲットであるかどうかを返します。
FilterAction設定がFlushingの場合にのみ使用できます。
-
形式
boolean isFiltered()
-
リターン
true,false
-