JSP页面添加上传控件的关键代码
1.要在项目WebRoot目录下的WEB-INF的lib目录下加载组件API

2.form表单提交方式需要是post方式
关键代码
1 <% 2 //设置编码格式 3 request.setCharacterEncoding("UTF-8"); 4 String uploadFileName = ""; 5 String fileName = ""; 6 //请求信息中的内容是否是multipart类型 7 boolean isMultipart = ServletFileUpload.isMultipartContent(request); 8 //上传文件的存储路径(服务器文件系统上的绝对文件路径) 9 String uploadFilePath = request.getSession().getServletContext() 10 .getRealPath("upLoadResource/"); 11 12 //判断是否是文件数据类型 13 if (isMultipart) { 14 //实例化操作对象 15 FileItemFactory factory = new DiskFileItemFactory(); 16 //将网络传递的数据进行打包 17 ServletFileUpload upload = new ServletFileUpload(factory); 18 19 try { 20 //对数据抽取成集合方便后续处理 21 List<FileItem> items = upload.parseRequest(request); 22 //迭代器 23 Iterator<FileItem> iter = items.iterator(); 24 //遍历处理数据 25 while (iter.hasNext()) { 26 FileItem item = (FileItem) iter.next(); 27 if (item.isFormField()) { 28 //将取出的文件封装成单个对象 29 fileName = item.getFieldName(); 30 //获取的表单name值为uname时,输出表单值 31 if (fileName.equals("uname")) { 32 out.print(item.getString("UTF-8") 33 + "上传了文件.<br>"); 34 } 35 } else { 36 String fn = item.getName(); 37 if (fn != null && !fn.equals("")) { 38 File fullFile = new File(item.getName()); 39 File saveFile = new File(uploadFilePath, 40 fullFile.getName()); 41 //保存文件 42 item.write(saveFile); 43 uploadFileName = fullFile.getName(); 44 out.print("文件上传成功:" + uploadFilePath); 45 } 46 47 } 48 } 49 } catch (Exception e) { 50 e.printStackTrace(); 51 } 52 } 53 %>

浙公网安备 33010602011771号