2014-04-04 87 views
0

我使用apache commons file upload 1.1。目前我正在使用parseRequest(request)來解析請求中的項目。設置默認文件上傳使用Apache公共文件上傳

現在我有一個額外的請求上傳文件。如果用戶沒有上傳任何文件,則可以使用default文件。

這可能嗎?

在此先感謝

回答

1

parseRequest返回FileItem的List。所以,當列表爲空時,沒有文件上傳。

因此,您只需要測試列表是否爲空。以從Using FileUpload

ServletFileUpload upload = new ServletFileUpload(factory); 
List<FileItem> items = upload.parseRequest(request); 
if (items.isEmpty()) { 
    // process some default file 
} else { 
    // process uploaded file 
} 

更新的例子:

Processing the uploaded items,你可以有文件,並在請求混合常規表單字段。你可以通過參數迭代,設置一個標誌,當你看到一個文件上傳,並採取相應的行動之後

// Process the uploaded items 
boolean fileUploaded = false; 
Iterator<FileItem> iter = items.iterator(); 
while (iter.hasNext()) { 
    FileItem item = iter.next(); 

    if (item.isFormField()) { 
     processFormField(item); 
    } else { 
     processUploadedFile(item); 
     fileUploaded = true; 
    } 
} 

if (!fileUploaded) { 
    // process some default file 
} 
+0

但我需要檢索的形式其它屬性除了'file'因爲這將是'Null'。我需要'getParameter'如類型,月份等是可能的嗎? –

+0

@sankrish請參閱更新的答案。 –

相關問題