CommonsFileUpload
パッケージを使用すると、サーブレットとWebアプリケーションに堅牢で高性能なファイルアップロード機能を簡単に追加できます。
FileUploadは、RFC1867「HTMLでのフォームベースのファイルアップロード」に準拠するHTTP要求を解析します。つまり、HTTPリクエストがPOSTメソッドを使用して送信され、コンテンツタイプが「multipart / form-data」の場合、FileUploadはそのリクエストを解析し、呼び出し元が簡単に使用できる方法で結果を利用できるようにします。ここ。
この
リンクを参照してください。
あなたが言ったので-
「ファイルと一緒に文字列(ファイルID)も送信できる必要があります」
Httpリクエストを解析し、FileItem
がフォームフィールド(文字列/テキスト-ファイルIDの場合)であるかどうかを確認し、それに応じて処理する必要があります。
マルチパートコンテンツリクエストのサンプルコードは次のとおりです-
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
FileItemFactory factory = new DiskFileItemFactory();
FileItem item=null;
ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
servletFileUpload.setSizeMax(-1);
List items =null;
if (isMultipart) {
try
{
items = servletFileUpload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
item = (FileItem) iter.next();
if (item.isFormField())
{
//get your file Id from element to match with item.getFieldName() and do whatever you want
}
else if ( !item.isFormField() ){
//save your file here
}
それがあなたを助けることを願っています。