Servlet实现文件下载
来源:互联网 发布:淘宝足球竞猜 编辑:程序博客网 时间:2024/05/20 21:18
import java.io.FileInputStream;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;public class DownloadServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// String path = "D:/WebTest/download/file.txt";// 应使用下面这种方式获取路径String path = getServletContext().getRealPath("/download/file.txt");response.setHeader("content-disposition", "attachment;filename=file.txt");InputStream in = null;OutputStream out = null;try {in = new FileInputStream(path);out = response.getOutputStream();byte[] buffer = new byte[1024];for (int len = 0; (len = in.read(buffer)) > 0;) {out.write(buffer, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {if (in != null) {try {in.close();} catch (Exception e) {e.printStackTrace();}}}}}
用户发出请求后会出现下载框:
如果下载文件是中文文件,则文件名需要经过url编码
response.setHeader("content-disposition", "attachment;filename=file.txt");应修改为
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("文件.txt", "UTF-8"));
// String path = "D:/WebTest/download/file.txt";// 应使用下面这种方式获取路径String path = getServletContext().getRealPath("/download/file.txt");//response.setHeader("content-disposition", "attachment;filename=file.txt");response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("文件.txt", "UTF-8"));InputStream in = null;OutputStream out = null;try {in = new FileInputStream(path);out = response.getOutputStream();byte[] buffer = new byte[1024];for (int len = 0; (len = in.read(buffer)) > 0;) {out.write(buffer, 0, len);}} catch (IOException e) {e.printStackTrace();} finally {if (in != null) {try {in.close();} catch (Exception e) {e.printStackTrace();}}}
阅读全文
0 0
- [Servlet] 实现文件下载
- Servlet实现文件下载
- servlet实现文件下载
- Servlet实现文件下载
- Servlet实现文件下载
- servlet实现文件下载
- Servlet实现文件下载
- servlet 实现文件下载
- Servlet实现文件下载
- Servlet实现文件下载
- Servlet实现文件下载
- servlet 实现下载文件
- servlet实现文件下载
- servlet实现下载文件
- 文件下载 Servlet实现
- servlet实现文件下载
- servlet 实现下载文件
- Servlet实现文件下载
- 精简的大数运算
- 定义一个返回内存的函数
- redis for all I know
- 如果我不曾遗忘,希望你也一样坚持
- 如何成为架构师系列:前言
- Servlet实现文件下载
- vim模式下文件的编辑与管理
- mybatis-xml配置
- win10 调整字体大小
- 马云装神弄鬼拜见过被通缉的气功大师王林, 歪门邪道的人还办教育,用淘宝支付宝真的不放心
- 开更
- 十分钟学习自然语言处理概述
- PHP封装成类(文件上传)
- 自然语言处理怎么最快入门?