`
quanxi40402
  • 浏览: 0 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
文件上传 servlet+common.io http://www.quanxi.com
public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		System.out.println("=================文件上传来了=================");
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		// 若果是的话
		if (isMultipart) {
			/** 为该请求创建一个DiskFileItemFactory对象,通过它来解析请求。执行解析后,所有的表单项目都保存在一个List中。* */
			try {
				DiskFileItemFactory factory = new DiskFileItemFactory();
				File tempPathFile = new File("g:/file");
				File per = new File("g:/file");
				factory.setSizeThreshold(4048); // 设置缓冲区大小,这里是4kb
				factory.setRepository(tempPathFile);// 设置缓冲区目录
				ServletFileUpload upload = new ServletFileUpload(factory);
				upload.setHeaderEncoding("UTF-8");// 解决文件乱码问题
				upload.setSizeMax(40480000);// 设置最大文件尺寸
				List<FileItem> items = upload.parseRequest(request);
				// 检查是否符合上传的类型
				Iterator<FileItem> itr = items.iterator();// 所有的表单项
				
				// 保存文件
				while (itr.hasNext()) {
					FileItem item = (FileItem) itr.next();// 循环获得每个表单项
					if (!item.isFormField())
					{// 如果是文件类型
						String name = item.getName();// 获得文件名 包括路径啊
						if (name != null&&!"".equals(name))
						{
							int index=name.indexOf(".");
							name=name.substring(index);
							name=UUID.randomUUID().toString()+name;
							System.out.println("====name:"+name);
							File savedFile = new File(per, name);
							item.write(savedFile);
						}
					}
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		else {
			System.out.println("the enctype must be multipart/form-data");

		}
			System.out.println("============文件上传成功==================");
	}
Global site tag (gtag.js) - Google Analytics