2010-06-25 56 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(); 
    } 
}