[java后台]servlet对上传文件的处理

		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		if(isMultipart){
			String realpath = request.getSession().getServletContext().getRealPath("/files");
			System.out.println(realpath);
			File dir = new File(realpath);
			if(!dir.exists()) dir.mkdirs();
			
			FileItemFactory factory = new DiskFileItemFactory();
			ServletFileUpload upload = new ServletFileUpload(factory);
			upload.setHeaderEncoding("UTF-8");
			try {
				List<FileItem> items = upload.parseRequest(request);
				for(FileItem item : items){
					if(item.isFormField()){
						 String name1 = item.getFieldName();//得到请求参数的名称
						 String value = item.getString("UTF-8");//得到参数值
						 System.out.println(name1+ "="+ value);
					}else{
						item.write(new File(dir, System.currentTimeMillis()+ item.getName().substring(item.getName().lastIndexOf("."))));
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}else{
			doGet(request, response);
		}

posted on 2014-05-14 08:27  狂奔的冬瓜  阅读(359)  评论(0编辑  收藏  举报