我有一個要求,我需要爲不同情況允許不同的最大文件大小。示例:允許5 MB用於恢復,只有3 MB用於轉錄。如何使用Apache文件上傳使用情況根據文件名設置最大文件大小
我正在使用下面的代碼上傳文件,使用Apache文件上傳使用情況。
ServletFileUpload upload = new ServletFileUpload();
upload.setSizeMax(500000000);
upload.setProgressListener(aupl);
FileItemIterator iter = upload.getItemIterator(req);
while (iter.hasNext()) {
FileItemStream item = iter.next();
if (!item.isFormField()) {
form_name = item.getFieldName();
InputStream stream = item.openStream();
FileOutputStream fop = new FileOutputStream(new File(temp_location));
Streams.copy(stream, fop, true);
}
}
我能找到的字段名稱的唯一方式是使用item.getFieldName(),我能做的,只有做upload.getItemIterator,但setSizeMax後(500 ..)必須在上傳設置在upload.getItemIterator被調用之前。
是否有解決此問題的方法?如果沒有解決方案,您是否可以建議任何其他文件上傳API來處理此問題。
感謝
也許你可以爲每個文件類型使用不同的servlet。 500000000也是500MB - 那種大? – 2011-06-10 00:50:48
爲測試目的將maxFileSize設置爲大於0,因爲我努力測試它,假設並將其設置爲0,當我把它放在1時它工作 – shareef 2016-07-22 12:08:51