当我使用Commons FileUpload时,方法parseRequest(request)上传文件并读取其他帖子参数。所以我只能在上传文件后获取参数值。 问题是我在上传文件之前需要这些参数值(其中一个参数是upload_path)。
有没有办法先从多部分内容获取帖子参数,然后开始上传到正确的文件夹?
(request.getParameter(name)将为多部分内容返回null。)
提前致谢!
答案 0 :(得分:1)
这对我有用,在第一遍我检查所有参数,然后我拿非表格字段下载。
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator( request );
while ( iter.hasNext() ) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if ( item.isFormField() ) {
byte[] buffer = new byte[ 128 ];
int len = stream.read( buffer );
String value = new String( buffer, 0,len );
if ( name.equals( "name" ) ) {
filename = value;
}
System.err.println( "Form field " + name + " with value " + value + " detected." );
stream.close();
}
}