沫沫金::struts下载文档[解决方案]

简介:    沫沫金在解决生成文档的最后,需要实现客户端下载功能。就好好写了一个完善的方法,贡献给大家。 特点: -中文支持 -全文当支持*.rar,*.zip,*.txt,*.doc -拷贝后直接使用 提示: URLEncoder使用Jar包 import java.

   沫沫金在解决生成文档的最后,需要实现客户端下载功能。就好好写了一个完善的方法,贡献给大家。

特点:

-中文支持

-全文当支持*.rar,*.zip,*.txt,*.doc

-拷贝后直接使用

提示:

URLEncoder使用Jar包

 
 
  1. import java.net.URLEncoder 


解决方案:

 
 
  1. //这么调用sunvinsDown(root+"/",strFileName,response);就好  
  2. public static void sunvinsDown(String filePath,String fileName,HttpServletResponse response)  
  3. throws Exception {  
  4. File file = new File(filePath+fileName);  
  5. if(!file.exists()){  
  6. System.out.println("文件不存在");  
  7. }else{  
  8. FileInputStream fis = new FileInputStream(file);  
  9. BufferedInputStream bis = new BufferedInputStream(fis);  
  10.  
  11. OutputStream os=response.getOutputStream();  
  12. BufferedOutputStream bos=new BufferedOutputStream(os);  
  13.  
  14. fileName=URLEncoder.encode(fileName,"UTF-8");  
  15. fileName=new String(fileName.getBytes("UTF-8"),"GBK");  
  16.  
  17. response.reset(); 
  18. response.setContentType("UTF-8");  
  19. response.setContentType("Application/x-msdownload");  
  20. response.setHeader("Content-Disposition", "attachment;filename="+fileName);  
  21. response.setHeader("Content-Length", String.valueOf(bis.available()));  
  22.  
  23. int bytesRead=0;  
  24. byte[] buffer=new byte[1024];  
  25. while((bytesRead=bis.read(buffer))!=-1){  
  26. bos.write(buffer,0,bytesRead);  
  27. }  
  28. bos.flush();  
  29. bos.close();  
  30. bis.close();  
  31.  
  32. os.close();  
  33. fis.close();  
  34. }  


 

 

 

目录
相关文章
一键自动化博客发布工具,用过的人都说好(cnblogs篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到cnblogs上。
一键自动化博客发布工具,用过的人都说好(oschina篇)
使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到oschina上。
一键自动化博客发布工具,用过的人都说好(oschina篇)
|
JavaScript 程序员 开发者
转载阿里开源框架 Egg.js 文档被告知侵权,原作者:难道我才是那个恶人?
2018 年 4 月 5 日,阿里开源的企业级 Node.js 框架 Egg.js 核心开发者“天猪”在知乎上发布了一篇帖子《当 Egg 遇到 TypeScript,收获茶叶蛋一枚》。文章发布后反响不错,开发者希望可以直接集成到官方文档中。因此,在当年 4 月 16 日,天猪也将此发到了官方仓库。
235 0
转载阿里开源框架 Egg.js 文档被告知侵权,原作者:难道我才是那个恶人?