2010-06-25 57 views
1

当我使用Commons FileUpload时,方法parseRequest(请求)上传文件并且还读取其他帖子参数。所以我只能在上传文件后才能得到参数值。 问题是我在上传文件之前需要这些参数值(其中一个参数是upload_path)。上传前获取帖子参数

有没有办法从多部分内容中首先获取发布参数,然后开始上传到正确的文件夹?

(request.getParameter(name)将为多部分内容返回null)。

在此先感谢!

回答

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(); 
    } 
}