sevlet 给客户端下载一个文件
来源:互联网 发布:coc 女王升级数据 编辑:程序博客网 时间:2024/05/18 03:18
package com.itheima.servlet;import java.io.FileInputStream;import java.io.IOException;import java.net.URLEncoder;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);}}
阅读全文
0 0
- sevlet 给客户端下载一个文件
- java sevlet使用多线程下载文件
- 如何写一个sevlet
- nodejs返给客户端一个文件的写法
- sevlet上传文件代码
- 自己写的一个客户端下载文件程序
- 客户端下载文件
- 客户端文件的下载
- 客户端下载服务器文件
- 客户端下载HDFS文件
- 服务端客户端文件下载
- DataGrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法 (转)
- datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法
- datagrid数据导出到excel文件给客户端下载的几种方法(转)
- datagrid数据导出到excel文件给客户端下载的几种方法
- Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
- 给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数
- c语言 ---- Stack实现
- 什么是跨域?
- Android移动开发-通过手势实现翻页效果
- sevlet 给客户端下载一个文件
- Spring Boot基础
- java中构造方法和方法全面解析
- C++之拷贝构造函数和复制运算符重载
- hadoop案例分析(三)
- (初学)Java的中文乱码问题
- 深入Statement和Preparedstatement
- POJ
- 权限管理模型