MultipartFormData.Entity
インタフェースを使用してください。public static interface MultipartFormData.Entity
フォームから送信された情報を解析した結果の各エンティティは、
ヘッダ情報とデータで構成されます。
String getName()
MultipartFormData.Entity.getName()
を使用してください。
フォームから送信された情報のうち、このエンティティが表す情報の
もととなったフォーム中に定義されたコントロールの名称を返します。
String getFileName()
MultipartFormData.Entity.getFileName()
を使用してください。Content-Disposition: form-data; name="ctrl_name"; filename="file_path"
ヘッダは、上記のような形式で受け取れる
ctrl_name: <INPUT type="file"> の name 属性
file_path: クライアントでのファイル名
ヘッダ情報は他にもあるが、上記の行のみを対象に解析を行う
String[] getHeaderNames()
MultipartFormData.Entity.getHeaderNames()
を使用してください。
このエンティティのもつヘッダ情報の名称一覧を返します。
String getHeader(String name)
MultipartFormData.Entity.getHeader(String)
を使用してください。
返却値は、文字エンコーディングの変換が行われていない状態の文字列を返却します。 具体的には、javax.servlet.ServletRequest#getInputStream()を利用して リクエストの内容をバイト配列で取得し、それを「ISO-8859-1」で文字列化した内容が返却されます。
別のエンコーディングに変換する場合、以下のようなコードで変換する必要があります。
byte[] rawData = entity.getHeader(headerName).getBytes("ISO-8859-1"); String encodedValue = new String(rawData, request.getCharacterEncoding());
name
- ヘッダ名称boolean containsHeader(String name)
MultipartFormData.Entity.containsHeader(String)
を使用してください。name
- ヘッダ名称int getContentLength()
MultipartFormData.Entity.getContentLength()
を使用してください。String getContent()
MultipartFormData.Entity.getContent()
を使用してください。
入力されたバイトデータから文字列への変換には、Application Runtimeが稼動しているJavaVMの
デフォルト文字エンコーディングを使います。
String getContent(String enc) throws UnsupportedEncodingException
MultipartFormData.Entity.getContent(String)
を使用してください。
指定のエンコード名がサポートされていない場合
UnsupportedEncodingException がスローされます。
enc
- エンコード名UnsupportedEncodingException
UnsupportedEncodingException
byte[] getBytes()
MultipartFormData.Entity.getBytes()
を使用してください。Reader getReader()
MultipartFormData.Entity.getReader()
を使用してください。Application Runtimeが稼動しているJavaVMのデフォルト文字エンコーディングを使うReaderを返します。
Reader getReader(String encoding)
MultipartFormData.Entity.getReader(String)
を使用してください。データ部の文字エンコーディング
- InputStream getInputStream()
MultipartFormData.Entity.getInputStream()
を使用してください。Copyright © 2012 NTT DATA INTRAMART CORPORATION