上传文件中的目录优化-打散
来源:互联网 发布:强制视频软件破解版 编辑:程序博客网 时间:2024/06/11 20:18
思想:
核心代码:
publicclass Up2Servletextends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException {
request.setCharacterEncoding("UTF-8");
Stringpath = getServletContext().getRealPath("/up");// path is:D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\0514\up
DiskFileItemFactorydisk = newDiskFileItemFactory();//声明临时文件
ServletFileUploadsfu = newServletFileUpload(disk);//声明解析request的核心类
// 声明一个Map用于传递参数
Map<String,Object> img = newHashMap<String, Object>();
try {
List<FileItem>files = sfu.parseRequest(request);//解析request
FileItemfile = files.get(0);
String fileName = file.getName();// 获取文件名fileName is:F:\娱乐\图\f.jpg
fileName= fileName.substring(fileName.lastIndexOf("\\") + 1);
img.put("oldname",fileName);
// 获取扩展名
StringexName = fileName.substring(fileName.lastIndexOf("."));
Stringuuid = UUID.randomUUID().toString().replace("-","");
StringnewName = uuid + exName;// 新名字
//计算文件夹名
int hashCode =uuid.hashCode();
Stringdir1 = Integer.toHexString(hashCode & 0xff);
Stringdir2 = Integer.toHexString((hashCode >> 8) & 0xff);
// 组成目录
String relPath = path + "/" + dir1 +"/" + dir2; //relPathis:D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\0514\up/96/65 注意写路径时up会不小心丢失,96/65是随机生成
// 判断目录是否存在
Filef = newFile(relPath);
if (!f.exists()) {
f.mkdirs();
}
FileUtils.copyInputStreamToFile(file.getInputStream(),newFile(f,newName));
// 去显示
request.setAttribute("fileName","/"+ dir1 +"/"+ dir2 + "/"
+newName);
request.getRequestDispatcher("/jsps/show.jsp").forward(request,
response);
img.put("newname",dir1 +"/"+ dir2 + "/"+ newName);
img.put("ip",request.getRemoteAddr());
}catch(Exception e) {
e.printStackTrace();
}
}
}
- 上传文件中的目录优化-打散
- apache文件上传,目录打散
- 上传文件并目录打散
- javaEE文件上传、目录打散、文件重命名
- Servlet---文件上传/打散目录/进度条
- Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度
- javaEE:day7-上传文件(Apache包)、目录打散、文件上传进度条、纯前台进度条
- 关于iOS中的文件打散与使用FTP上传(伪断点续传大文件)
- javaEE:day8-在线图片上传与浏览(带图片点击放大、下载、删除、目录打散)
- 文件上传下载中的安全问题(上传漏洞与目录遍历攻击)
- 文件上传下载中的安全问题(上传漏洞与目录遍历攻击)
- CI 文件上传 --文件上传目录
- springMVC上传文件优化
- SpringMvc 上传文件优化
- PHP文件上传优化
- Unity3D中的svn上传目录
- 上传文件之目录处理
- 上传文件到指定目录
- hdu 3369
- Java注解原理分析
- cocos2d-x 2.x MAC 环境搭建
- 平台数据库授权时造成主从同步失败问题的事故报告20120705
- myeclipse中tomcat 7.0 关于64位与32位的冲突问题 ( tcnative-1.dll )
- 上传文件中的目录优化-打散
- VI键盘图
- equals方法和“==”的区别
- java第十七天_util包中一些常用的类
- JQuery实例(一)- 二级联动
- Insert Interval
- C++十六进制宏的用法
- SQL Server 性能调优(cpu) http://www.cnblogs.com/Amaranthus/archive/2012/03/07/2383551.html
- ERROR 1045 (28000): Access denied for user 'xcj'@'localhost' (using password: YES)