sevlet 给客户端下载一个文件
2017-09-19 23:35
155 查看
package com.itheima.servlet; import java.io.FileInputStream; import java.io.IOException; import java.net.URLEnc 4000 oder; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletDemo3 extends HttpServlet { /*给客户端下载一个文件的思路 * * 1.得到文件的路径 * 2.创建一个输出流 把文件放进去 * 3.根据路径得到文件的名字 * 4.用URLEncoder.encode给文件编码 * 5.用setHeader告诉客户端要下载什么文件 * 6.用字节流输出文件 * * */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //通过路径得到一个输入流 String path = this.getServletContext().getRealPath("/WEB-INF/classes/美女.jpg"); FileInputStream fis = new FileInputStream(path); //创建字节输出流 ServletOutputStream sos = response.getOutputStream(); //得到要下载的文件名 String filename = path.substring(path.lastIndexOf("\\")+1); //设置文件名的编码 filename = URLEncoder.encode(filename, "UTF-8");//将不安全的文件名改为UTF-8格式 //告知客户端要下载文件 response.setHeader("content-disposition", "attachment;filename="+filename); response.setHeader("content-type", "image/jpeg"); //执行输出操作 int len = 1; byte[] b = new byte[1024]; while((len=fis.read(b))!=-1){ sos.write(b,0,len); } sos.close(); fis.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- 自己写的一个客户端下载文件程序
- Java Socket编程 文件传输(客户端从服务器下载一个文件)
- Java Socket编程 文件传输(客户端从服务器下载一个文件)
- Java Socket编程 文件传输(客户端从服务器下载一个文件)
- asp的一个下载功能页面,就是把文件直接传给客户端的方式
- wget用法wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.
- datagrid数据导出到excel文件给客户端下载的几种方法
- 推荐一个开源文件下载库PRDownloader
- C# DataTable 导出CSV 文件并在客户端下载
- asp.net(C#)文件下载的一个问题请教
- 批量下载图片文件(服务器端 和 客户端)
- 【转】文件下载之断点续传(客户端与服务端的实现)
- JAVA下载TXT文件到本地,这一个方法完全能够解决
- 如何破解百度云限速和下载大文件需要客户端的限制
- 利用NET HUNTER建立一个自动文件下载的网络接入点
- ASP.NET直接下载一个文件,而不是在IE中打开它
- 使用 acl 库开发一个 HTTP 下载客户端
- 每天一个linux命令(26)--用SecureCRT来上传和下载文件
- 关于:读写xls文件,提供下载的一个小例子(jxl 的简单运用) - 高级操作
- 使用Apache POI WorkBook 进行下载文件的一个问题