public class MultipartFormData extends ArrayList
このオブジェクトは、ブラウザから multipart/form-data 形式でリクエストされた データを解析し、boundary で区切られた各情報(エンティティ)をMultipartFormData.Entity としてリストに保管します。
このクラスを利用する事により、ブラウザからサーバに対するファイルの
アップロードなどが簡単に実装する事ができます。
intra-mart6.1.11から、アップロードされたファイルが指定した閾値を超えた場合、 メモリ上ではなく一時ファイルに書き出し、OutOfMemoryErrorの発生を抑えることが できるようになりました。内部では Apache Commons FileUpload を利用しています。
一時ファイルは、ガベージコレクタがMultiPartFormData.Entityを解放するタイミングで 削除されます。従いまして、MultiPartFormData.Entityが解放される前にintra-martが 停止すると一時ファイルは削除されません。
一時ファイルの格納先は、デフォルトではJavaのテンポラリフォルダ(java.io.tmpdir)です。 ファイル名は upload_ランダムな文字列.tmp です。
なお、アップロードされたファイルを常にメモリ上で扱う実装と一時ファイルに書き出す実装の切り替え、 一時ファイルの格納先、一時ファイルに書き出すかどうかの閾値を設定ファイルにて指定できます。 設定ファイルは、 %ApplicationRuntime%/doc/imart/WEB-INF/classes/jp/co/intra_mart/common/aid/javaee/http/MultipartFormData.properties です。
設定ファイルの内容はMultipartFormDataResourceBundle
を参照してください。修飾子とタイプ | クラスと説明 |
---|---|
static interface |
MultipartFormData.Entity
フォームデータのエンティティです。
|
static interface |
MultipartFormData.MessageFileDeleter
一時ファイルを削除するinterfaceです。
|
修飾子とタイプ | フィールドと説明 |
---|---|
static String |
SIZE_MAX |
modCount
コンストラクタと説明 |
---|
MultipartFormData(javax.servlet.ServletRequest req)
リクエストされた情報を解析して、新しいオブジェクトを構築します。
|
MultipartFormData(javax.servlet.ServletRequest req,
IMFileItemFactory factory)
リクエストされた情報を解析して、新しいオブジェクトを構築します。
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
add(int index,
Object element)
リストの指定された位置に、指定された要素を挿入します。
|
boolean |
add(Object o)
リストの最後に、指定された要素を追加します。
|
boolean |
addAll(Collection c)
リストの末尾に、指定された Collection のすべての要素を追加します。
|
boolean |
addAll(int index,
Collection c)
リスト内の指定された位置から、指定された Collection のすべての要素を挿入します。
|
void |
clear()
リストからすべての要素を削除します。
|
boolean |
contains(Object elem)
リストに指定の要素がある場合に true を返します。
|
boolean |
containsAll(Collection c)
このコレクション内に、指定されたコレクションのすべての要素がある場合に true を返します。
|
void |
ensureCapacity(int minCapacity)
必要に応じて、この ArrayList のインスタンスのサイズを拡大し、少なくとも最小サイズ引数で指定された数の要素を格納できるようにします。
|
boolean |
equals(Object o)
指定されたオブジェクトとリストが等しいかどうかを比較します。
|
Object |
get(int index)
リスト内の指定された位置にある要素を返します。
|
MultipartFormData.Entity[] |
getEntities(String name)
指定の名前を持つエンティティをすべて取得します。
|
MultipartFormData.Entity |
getEntity(int index)
指定のインデックスに該当するエンティティを取得します。
|
MultipartFormData.Entity |
getEntity(String name)
指定の名前を持つエンティティを取得します。
|
int |
hashCode()
このリストのハッシュコード値を返します。
|
int |
indexOf(Object elem)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。
|
boolean |
isEmpty()
リストに要素がないかどうかを判定します。
|
Iterator |
iterator()
このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。
|
int |
lastIndexOf(Object elem)
指定されたオブジェクトがリスト内で最後に現れるインデックスを返します。
|
ListIterator |
listIterator()
このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。
|
ListIterator |
listIterator(int index)
リスト内の要素を適切な順序で繰り返し処理する、リスト内の指定された位置から開始する反復子を返します。
|
Object |
remove(int index)
リスト内の指定された位置から要素を削除します。
|
boolean |
remove(Object o)
指定された要素のインスタンスがこのコレクションにあれば、そのインスタンスをコレクションから 1 つ削除します。
|
boolean |
removeAll(Collection c)
このコレクションから、指定されたコレクションに含まれる要素をすべて削除します。
|
boolean |
retainAll(Collection c)
このコレクションにおいて、指定されたコレクションに格納されている要素だけを保持します。
|
Object |
set(int index,
Object element)
リストの指定された位置にある要素を、指定された要素で置き換えます。
|
int |
size()
リスト内にある要素の数を返します。
|
List |
subList(int fromIndex,
int toIndex)
このリストの、fromIndex (これを含む) から toIndex (これを含まない) の範囲の部分のビューを返します。
|
Object[] |
toArray()
リスト内のすべての要素が正しい順序で格納されている配列を返します。
|
Object[] |
toArray(Object[] a)
リスト内のすべての要素が正しい順序で格納されている配列を返します。
|
void |
trimToSize()
この ArrayList のインスタンスのサイズをリストの現在のサイズに縮小します。
|
clone, forEach, removeIf, removeRange, replaceAll, sort, spliterator
toString
parallelStream, stream
public MultipartFormData(javax.servlet.ServletRequest req) throws IOException, IllegalArgumentException
req が multipart/form-data で受信したリクエストではない場合、 IllegalArgumentException をスローします。
req
- サーブレットエンジンから渡されるリクエスト情報オブジェクトIOException
- リクエストデータ解析時の入出力エラーIllegalArgumentException
- 引数が不正の場合public MultipartFormData(javax.servlet.ServletRequest req, IMFileItemFactory factory) throws IOException, IllegalArgumentException
req が multipart/form-data で受信したリクエストではない場合、 IllegalArgumentException をスローします。
req
- サーブレットエンジンから渡されるリクエスト情報オブジェクトfactory
- IMFileItemFactory のインスタンスIOException
- リクエストデータ解析時の入出力エラーIllegalArgumentException
- 引数が不正の場合public MultipartFormData.Entity getEntity(int index)
インデックスが範囲外の場合(インデックスが負または size() よりも大きい)
IndexOutOfBoundsException をスローします。
index
- 返すエンティティのインデックスpublic MultipartFormData.Entity getEntity(String name)
エンティティの名前とは、フォームのコントロール名称のことです。
指定の名前を持つエンティティが複数存在する場合、その中のいずれか一つが
返されます。
該当するエンティティが存在しない場合 null を返します。
MultipartFormData.Entity.getName()
public MultipartFormData.Entity[] getEntities(String name)
エンティティの名前とは、フォームのコントロール名称のことです。
該当するエンティティが存在しない場合、空の配列を返します。
MultipartFormData.Entity.getName()
public void add(int index, Object element)
public boolean add(Object o)
public boolean addAll(Collection c)
public boolean addAll(int index, Collection c)
public void clear()
public boolean contains(Object elem)
public boolean containsAll(Collection c)
containsAll
インタフェース内 Collection
containsAll
インタフェース内 List
containsAll
クラス内 AbstractCollection
public void ensureCapacity(int minCapacity)
ensureCapacity
クラス内 ArrayList
public boolean equals(Object o)
equals
インタフェース内 Collection
equals
インタフェース内 List
equals
クラス内 AbstractList
public Object get(int index)
public int hashCode()
hashCode
インタフェース内 Collection
hashCode
インタフェース内 List
hashCode
クラス内 AbstractList
public int indexOf(Object elem)
public boolean isEmpty()
public Iterator iterator()
public int lastIndexOf(Object elem)
lastIndexOf
インタフェース内 List
lastIndexOf
クラス内 ArrayList
public ListIterator listIterator()
listIterator
インタフェース内 List
listIterator
クラス内 ArrayList
public ListIterator listIterator(int index)
listIterator
インタフェース内 List
listIterator
クラス内 ArrayList
public Object remove(int index)
public boolean remove(Object o)
public boolean removeAll(Collection c)
public boolean retainAll(Collection c)
public int size()
public List subList(int fromIndex, int toIndex)
public Object[] toArray()
public void trimToSize()
trimToSize
クラス内 ArrayList
Copyright © 2012 NTT DATA INTRAMART CORPORATION