Multipart/form-data不支持request.getparamerter

use*_*229 9 java jsp servlets

我有一张表格.它有文件上传部分以及几个输入字段.我正在使用request.getParameter()从jsp获取值到servlet.但是当我添加时encrypt=multipart,request.get参数不起作用.它返回null.我知道multipart不支持request.getParameter().是否有任何上传文件的解决方案.我也想使用request.get参数.

Jay*_*esh 9

apache commons库对这样的要求很有用.

参考:http ://javakart.blogspot.in/2012/11/file-upload-example-using-servlet.html http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm

boolean isMultipart = ServletFileUpload.isMultipartContent(request); 
//this will help you identify request is of type multipart or not.
Run Code Online (Sandbox Code Playgroud)

检查后,解析请求并使用库获取表单字段和文件项.

例:

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)
            }
        }
Run Code Online (Sandbox Code Playgroud)


Ank*_*thi 3

request.getParameter()及其相关方法不适用于多部分请求,并且在处理多部分表单数据时将始终返回 null。

如果你想使用request.getParameter()那么你可以使用commons FileUpload