Установить файл по умолчанию для загрузки с использованием загрузки файлов Apache commons
Я использую apache commons file upload 1.1
, В настоящее время я использую parseRequest(request)
разобрать элементы из запроса.
Теперь у меня есть дополнительный запрос на загрузку файла. что-то вроде default
файл, если пользователь не загружает их.
Это возможно?
заранее спасибо
1 ответ
Решение
parseRequest
возвращает список FileItem
s. Итак, когда список пуст, файл не был загружен.
Поэтому вам просто нужно проверить, если список пуст. Взяв пример из использования FileUpload
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
if (items.isEmpty()) {
// process some default file
} else {
// process uploaded file
}
Обновить:
В соответствии с Обработка загруженных элементов, вы можете иметь файлы и обычные поля формы, смешанные в запросе. Вы можете перебирать параметры, устанавливать флажок, когда видите загрузку файла, и впоследствии действовать соответственно.
// 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
}