Servlet 文件上传, HttpServletRequestWrapper
2013-05-07 14:40
447 查看
需要使用一些jar包。commons-fileupload-1.2.2.jar commons-io-1.4.jar
这情况下,因为服务器获得是输入流,是得不到name的值的。
System.out.println(request.getParameter("name")); //null
System.out.println(request.getParameter("fileName")); //null
null
null
name -> fdsf
文件:hello.zip
0
正常上传的话,可以用:
Streams.copy(stream, new FileOutputStream(request.getRealPath("upload")+"\\" + filename), true);
System.out.println("cpy: " + request.getRealPath("upload") + filename);
<form action="FileUpload" enctype="multipart/form-data" method="post"> <input type="text" name="name"><br> <input type="file" name="fileName"><br> <input type="submit"> </form>
这情况下,因为服务器获得是输入流,是得不到name的值的。
System.out.println(request.getParameter("name")); //null
System.out.println(request.getParameter("fileName")); //null
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); System.out.println(request.getParameter("name")); System.out.println(request.getParameter("fileName")); ServletFileUpload upload = new ServletFileUpload(); try { FileItemIterator iter = upload.getItemIterator(request); while(iter.hasNext()){ FileItemStream item = iter.next(); String name = item.getFieldName(); //得到表单域,是一个输入流 InputStream stream = item.openStream(); //如果是普通表单域 if(item.isFormField()){ String value = Streams.asString(stream); System.out.println(name + " -> " + value); }else{ String filename = item.getName(); //得到文件上传名 System.out.println("文件:" + filename); } } } catch (FileUploadException e) { e.printStackTrace(); } System.out.println(request.getInputStream().available());; out.flush(); out.close(); }
null
null
name -> fdsf
文件:hello.zip
0
正常上传的话,可以用:
Streams.copy(stream, new FileOutputStream(request.getRealPath("upload")+"\\" + filename), true);
System.out.println("cpy: " + request.getRealPath("upload") + filename);
相关文章推荐
- Spring中MultipartHttpServletRequest实现文件上传
- 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
- springmvc 上传文件出错:RequestFacade cannot be cast to MultipartHttpServletRequest
- 上传文件(文件非必填)MultipartHttpServletRequest
- Spring中MultipartHttpServletRequest实现文件上传
- springMVC使用multipartFile上传文件出错:MultipartHttpServletRequest: is a MultipartResolver configured?
- HttpServletRequest 对文件上传的支持
- spring上传文件报错Expected MultipartHttpServletRequest: is a MultipartResolver configured?
- Spring中MultipartHttpServletRequest实现文件上传
- Struts2中文件上传和多文件上传以及获取HttpServletRequest / HttpSession / ServletContext / HttpServletRespons
- Spring中MultipartHttpServletRequest实现文件上传 生成缩略图
- MultipartHttpServletRequest,ajaxFileUpload上传文件,读取文件乱码问题
- 用servlet实现文件上传报错java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getPart
- springMVC中的文件上传:MultipartHttpServletRequest
- 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
- 初识Spring中MultipartHttpServletRequest文件上传
- Struts2 中用Fileupload上传文件得不到HttpServletRequest值的解决办法
- Spring中MultipartHttpServletRequest实现文件上传
- Servlet3.0中HttpServletRequest增加了对文件上传的支持
- spring中的文件上传:MultipartHttpServletRequest