Установить файл по умолчанию для загрузки с использованием загрузки файлов 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
}
Другие вопросы по тегам