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(); } } }...
Cauz:struts的拦截器机制RequestProccessor自己处理了文件上传, 如果是struts1,去掉formbean中的file对应属性, 如果是struts2,把
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
里面的/*改成/*.action然后用普通的servlet代替action做上传处理,webwork同理
<filter> <filter-name>webwork</filter-name> <filter-class> com.opensymphony.webwork.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>webwork</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping>
相关推荐
List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); //检查当前项目是普通表单项目还是上传...
items=upload.parseRequest (request).iterator(); while(items.hasNext()){ FileItem item=(FileItem) items.next(); if(!item.isFormField()){ String name=item.getName (); String fileName=name....
List fileItems = upload.parseRequest(request); //开始读取上传信息 Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while(iter.hasNext()) { FileItem item = (FileItem) iter.next(); // ...
上传文件+ajax进度条 FileItemFactory factory = new DiskFileItemFactory(); // 通过该工厂对象创建...List items = upload.parseRequest(request); for (Iterator i = items.iterator(); i.hasNext();) {
List fileItems = upload.parseRequest(request); Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { ...
List<FileItem> list = upload.parseRequest(request); for (FileItem item : list) { if (item.isFormField()) { String name = item.getFieldName(); String value = item.getString("GBK")...
try {List items = upload.parseRequest(request);Iterator itr = items.iterator(); while (itr.hasNext()) {FileItem item = (FileItem) itr.next();if (item.isFormField()) { System.out.println("表单参数名:" ...
1. 前台jsp中,我使用的是 form post 请求,设置了 enctype=”multipart/form-data” ,页面编码格式都是utf-8 2. 后台中,我使用的是commons-fileUpload组件,ServletFileUpload 解析form表单和文件, 3. 设置 ...
// 得到文件上传工厂 FileItemFactory factory = new DiskFileItemFactory(); // 处理文件上传核心类 ServletFileUpload fileUpload =... List<FileItem> fileItemList = fileUpload.parseRequest(request);
items = upload.parseRequest(request); iterator = items.listIterator(); hd = tf.newTransformerHandler(); // Set the XML handler. Transformer serializer = hd.getTransformer(); // You'll serialize ...
java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载
fileList = sfu.parseRequest(request); } catch (FileUploadException e) {// 处理文件尺寸过大异常 if (e instanceof SizeLimitExceededException) { out.println("文件尺寸超过规定大小:" + MAX_SIZE + "字节...
List fileItems = upload.parseRequest(req); // assume we know there are two files. The first file is a small // text file, the second is unknown and is written to a file on // the server Iterator ...
* 目的是调用 parseRequest(request)方法 获得 FileItem 集合list , * * 5)在 FileItem 对象中 获取信息, 遍历, 判断 表单提交过来的信息 是否是 普通文本信息 另做处理 * 6) * 第一种. 用第三方 ...
fileList = sfu.parseRequest(request); } catch (FileUploadException e) {// 处理文件尺寸过大异常 if (e instanceof SizeLimitExceededException) { out.println("文件尺寸超过规定大小:" + MAX_SIZE + "字节...
List parseRequest(HttpServletRequest request) 解析request对象,并把表单中的每一个输入项包装成一个fileItem 对象,并返回一个保存了所有FileItem的list集合。 setFileSizeMax(long fileSizeMax) 设置上传...
NULL 博文链接:https://ice-cream12-21.iteye.com/blog/2222058
参考博文:http://blog.csdn.net/u011638419/article/details/41642773
servlet实现文件的上传和下载,使用包为: import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk....import org.apache.commons.fileupload.servlet.ServletFileUpload;
由于springmvc在接收文件时已经对请求的文件进行了一次包装解析(详见CommonsMultipartResolver类parseRequest方法中已经使用了ServletFileUpload去解析文件)配置文件名称可自定义。升级org.json为阿里的fastjson。