`
sxl_bruce
  • 浏览: 4082 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
servlet 文件上传 ServletFileUpload.parseRequest()得不到请求内容
public void upload(HttpServletRequest request, HttpServletResponse response){
		//创建解析工厂
		DiskFileItemFactory factory = new DiskFileItemFactory();
		factory.setRepository(new File(this.getServletContext().getRealPath("/WEB-INF/temp")));//设置文件缓存目录
		//创建解析器
		ServletFileUpload load = new ServletFileUpload(factory);
		load.setHeaderEncoding("UTF-8");
		//解析request得到封装FileItem的list
		try{List list = load.parseRequest(request);//list.size() is 0
                       for(int i=0; i<list.size(); i++) {
				FileItem item = (FileItem)list.get(i);
				if(!item.isFormField()){
					String name = item.getName();
					if(!name.trim().equals("")){
						name = name.substring(name.lastIndexOf("\\")+1);
						//拿到inoutStream流
						InputStream inputStream = item.getInputStream();
						String path =this.getServletContext().getRealPath("/WEB-INF/upload");
						
						File file = new File(path);
						if(!file.exists())
							file.mkdirs();
						//定义输出流
						OutputStream outputStream = new FileOutputStream(path+"\\"+name);
						
						int len = 0;
						byte data[] = new byte[1024];
						while((len=inputStream.read(data))!=-1)
							outputStream.write(data, 0, len);
						inputStream.close();
						outputStream.flush();
						outputStream.close();
						item.delete();//删除临时文件
					}
				}
			}
			request.setAttribute("message","上传成功");
		} catch (Exception e) {
			e.printStackTrace();
			request.setAttribute("message","上传失败");
		}finally{
			try {
				request.getRequestDispatcher("/message.jsp").forward(request, response);
			} catch (Exception e) {
				e.printStackTrace();
			} 
		}
	}...
Global site tag (gtag.js) - Google Analytics