commons-fileupload 多文件上传
2016-04-29 17:34
363 查看
<form action="upload/testupload" enctype="multipart/form-data" method="post"> <input type="file" name="file" multiple="multiple" /><input type="submit" value="submit" /> </form>
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
public final void upload() throws Exception { final StringBuilder result = new StringBuilder(); final DiskFileItemFactory dfif = new DiskFileItemFactory(); final ServletFileUpload sfu = new ServletFileUpload(dfif); // 对requests对象进行解析,并把表单中的每一个输入项包装成一个fileItem对象,并返回一个保存了所有FileItem的list集合. final List<FileItem> fileItems = sfu.parseRequest(getRequest()); final Iterator<FileItem> iter = fileItems.iterator(); final String path = "F:/resources/Test/"; FileItem item = null; String name = null; int error = 0; int length = 0; // 设置内存缓冲区的大小,默认值为10K,如果文件大于10K,将使用临时文件缓存上传文件. dfif.setSizeThreshold(10 * 1024); dfif.setRepository(new File(path)); // 设置上传文件总量的最大值 500M sfu.setSizeMax(500 * 1024 * 1024); // 设置上传文件最大值 其中文件大小只要有一个超过 (100M) ,1024KB==1M 所有文件将不能上传 sfu.setFileSizeMax(100 * 1024 * 1024); result.append("{\"files\":["); while (iter.hasNext()) { System.out.println(iter.hasNext()); item = iter.next(); if (!item.isFormField()) { length++; name = item.getName(); name = System.currentTimeMillis() + name.substring(name.lastIndexOf("."), name.length()); result.append("\"").append(name).append("\"").append(!iter.hasNext() ? "" : ","); item.write(new File(path + name)); } } result.append("],\"error\":").append(error).append(",\"success\":").append(length - error) .append(",\"path\":\"").append(path).append("\"}"); renderJson(result.toString()); }
相关文章推荐
- HashMap、LinkedHashMap元素遍历机制探讨
- Exynos4412如何实现DVFS(动态电压频率调整)
- NYOJ 1112 求次数
- xorg-xserver相关完全解析
- 新建软件工程的讲解
- 聊聊 Linux 中的五种 IO 模型
- 团队绩效评估规划
- android studio开发去掉titlebar
- 打怪游戏(调用类实例)
- JSONObject简介
- 遍历Map的几种方法
- Python3学习笔记(urllib模块的使用)
- 王高利:apache__configuration error: couldn’t perform authentication. AuthType not set!: /
- 谷歌浏览器插件“开眼”访问google、facebook等
- 使用Unity3D 5.3.4 模仿2D游戏 FlappyBird(二)
- 五、nginx搭建WordPress博客系统
- 探秘Java中String、StringBuilder以及StringBuffer
- Linux内核的动态电压和电流控制接口(regulator&dvfs)
- 【加密解密】对exe文件的加密解密 <含源代码》
- NYOJ 613 免费馅饼