我有一个表格。它有文件上传部分以及几个输入字段。我在用request.getParameter(
) 将值从 jsp 获取到 servlet。
但是当我添加encrypt=multipart
,request.get参数不起作用。它返回 null。我知道多部分不支持request.getParameter()
。上传文件有什么解决办法吗?我也想使用 request.get 参数。
apache commons 库对于这种需求很有用。
refer: 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.
检查后,解析请求并使用库获取表单字段和文件项。
Example:
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)
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)