как отправить составные данные и текстовые данные из HTML-формы на страницу JSP - PullRequest
0 голосов
/ 17 июня 2011

Как отправить составные данные и текстовые данные из HTML-формы на страницу JSP за раз

мое поле формы Имя, загрузить файл

Я не могу отправить оба одновременно

1 Ответ

0 голосов
/ 17 июня 2011

В запросе multipart/form-data текстовый параметр также отправляется как составной элемент, а не как обычный параметр запроса.Чтобы получить текстовый параметр, вам нужно использовать такой же API, который вы использовали для получения загруженного файла.Предполагая, что вы используете Apache Commons FileUpload , который является де-факто стандартным парсером multipart/form-data, вам нужно подключиться к условию, когда элемент является полем нормальной формы.

List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
    if (item.isFormField()) {
        // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
        String fieldname = item.getFieldName();
        String fieldvalue = item.getString();
        // ... (do your job here)
    } else {
        // Process form file field (input type="file").
        String fieldname = item.getFieldName();
        String filename = FilenameUtils.getName(item.getName());
        InputStream filecontent = item.getInputStream();
        // ... (do your job here)
    }
}

См. Также:

...