read(buffer))>0){46//输出缓冲区的内容到浏览器,实现文件下载47out。write(buffer, 0, len);48}49//关闭文件输入流50in。close();51//关闭输出流52out。close();53}5455/**56* @Method: findFileSavePathByFileName57* @Description: 通过文件名和存储上传文件根目录找出要下载的文件的所在路径58* @Anthor:孤傲苍狼59* @param filename 要下载的文件名60* @param saveRootPath 上传文件保存的根目录,也就是/WEB-INF/upload目录61* @return 要下载的文件的存储目录62*/ 63public String findFileSavePathByFileName(String filename,String saveRootPath){64int hashcode = filename。hashCode();65int dir1 = hashcode&0xf; //0--1566int dir2 = (hashcode&0xf0)>>4; //0-1567String dir = saveRootPath "\\" dir1 "\\" dir2; //upload\2\3 upload\3\568File file = new File(dir);69if(!file。
exists()){70//创建目录71file。mkdirs();72}73return dir;74}7576public void doPost(HttpServletRequest request, HttpServletResponse response)77throws ServletException, IOException {78doGet(request, response);79}80 }
在Web.xml文件中配置DownLoadServlet
1 <servlet>2<servlet-name>DownLoadServlet</servlet-name>3<servlet-class>me.gacl.web.controller.DownLoadServlet</servlet-class>4 </servlet>5 6 <servlet-mapping>7<servlet-name>DownLoadServlet</servlet-name>8<url-pattern>/servlet/DownLoadServlet</url-pattern>9 </servlet-mapping>
点击【下载】超链接,将请求提交到DownLoadServlet就行处理就可以实现文件下载了,运行效果如下图所示:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-52904-9.html
这跟冲动没有半毛钱关系