У меня есть требование, когда мне нужно разрешить разные максимальные размеры файлов для разных случаев.Пример: разрешить 5 МБ для возобновления, только 3 МБ для расшифровок.
Я использую следующий код для загрузки файла с помощью утилит загрузки файлов 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 для загрузки файлов, который решает эту проблему.
Спасибо