Servlet文件下载
来源:互联网 发布:淘宝9月9号有活动吗 编辑:程序博客网 时间:2024/06/01 10:19
servlet文件下载
/** * @author Administrator * 文件下载 */public class DownloadServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获取uuidRealFileNameString uuidRealFileName = request.getParameter("uuidRealFileName");//还原byte[] buf = uuidRealFileName.getBytes("ISO8859-1");//手工解码uuidRealFileName = new String(buf,"UTF-8");//获取realFileNameint index = uuidRealFileName.indexOf("_");String realFileName = uuidRealFileName.substring(index+1);//通知浏览器以下载方式打开文件//response.setHeader("content-type","application/x-msdownload");response.setHeader("content-disposition","attachment;filename="+URLEncoder.encode(realFileName,"UTF-8"));//以IO流方式将服务端的文件复制给客户端String uploadPath = this.getServletContext().getRealPath("/WEB-INF/upload");String subUploadPath = makeSubUpload(uploadPath,uuidRealFileName);InputStream is = new FileInputStream(subUploadPath + "/" + uuidRealFileName);OutputStream os = response.getOutputStream();buf = new byte[2048];int len = 0;while((len=is.read(buf))>0){os.write(buf,0,len);}os.close();is.close();}//通过这个算法,得到下载文件的位置private String makeSubUpload(String uploadPath,String uuidRealFileName){//获取hashCode整型值int code = uuidRealFileName.hashCode();//第一级子目录int dir1 = code & 0xF;//12//第二级子目录int dir2 = ( code >> 1 ) & 0xF;//6 //创建这些子目录File file = new File(uploadPath+"/"+dir1+"/"+dir2);//如果不存在该子目录if(!file.exists()){//连续创建2个子目录file.mkdirs();}//将创建后的子目录返回return file.getPath();} }
0 0
- servlet下载文件文件
- [Servlet] 实现文件下载
- Servlet下载文件
- Servlet实现文件下载
- Servlet中的文件下载
- servlet实现文件下载
- Servlet实现文件下载
- Servlet实现文件下载
- servlet实现文件下载
- servlet下载文件
- 文件下载Servlet范例
- servlet文件下载
- servlet下载文件
- Servlet实现文件下载
- servlet 文件下载
- domino servlet 文件下载
- Servlet文件下载
- Servlet文件下载
- 标准制定机构知识产权规则的反垄断分析
- jplogic v1.0 Java快速开发平台 Vs 目前市面上的快速开发平台
- Java NIO框架Netty教程(六)-Java NIO Selector模式
- commonfileupload组件文件上传
- BulkCopy from source table to destination table with a column whose type is different
- Servlet文件下载
- JAVA异常与事物回滚探究
- SUN公司JavaMail发送邮件
- JavaScript构造函数解析
- 深度学习读书笔记之RBM
- Java NIO框架Netty教程(七)-再谈收发信息次数问题
- 第三周作业——冒泡排序和归并排序
- Apache公司MultiPartEmail 邮件发送
- Apache公司的SimpleEmail发送邮件