如何使用编码multipart / form-data提交Jsp页面

时间:2011-01-30 00:55:31

标签: jsp servlets file-upload

我正在提交带编码的html表单(multipart / form-data) 我在Jsp Page中有以下字段 名字 姓 要上传的文件名

文件上传完美 如何获得名字和姓氏? 我想保存在数据库中。

1 个答案:

答案 0 :(得分:3)

您需要使用相同的API来提取文本字段,就像您用来获取文件内容一样。假设您正在使用(事实上的标准)Apache Commons FileUpload,那么只要FileItem#isFormField()返回true,您就需要采取行动。

try {
    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)
        }
    }
} catch (FileUploadException e) {
    throw new ServletException("Cannot parse multipart request.", e);
}

另见: