栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Response下载文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Response下载文件

package com.wyl.servlet;


import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;

public class FileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.获取文件下载路径
        //String realPath = this.getServletContext().getRealPath("/桌面图片.png");
        String realPath = "D:\idea项目\javaweb-servlet\response\target\classes\1.png";
        System.out.println("文件路径"+realPath);
        //2.下载的文件名是什么
            //substring传递一个参数代表从索引1的字符串开始,到结束
            //路径realpath.lastIndexOf  ABCDABCD".lastIndexOf("BC") ;返回5
        String filename = realPath.substring(realPath.lastIndexOf("\") + 1);
        System.out.println("下载的文件名"+filename);
        //3让浏览器支持(Content-disposition)我们下载所需要的东西
        resp.setHeader("Content-disposition","attachment;filename="+filename);
        //4.获取要下载文件的输入流
        FileInputStream  in = new FileInputStream(realPath);
        //5.创建缓冲区
        int len=0;
        byte [] buffer=new byte[1024];
        //6.获取outputStream对象
        ServletOutputStream outputStream = resp.getOutputStream();
        //7.将FileInputStream写道buff缓冲区
        while ((len=(in.read(buffer)))>0){
            //8.相应到客户端
            outputStream.write(buffer,0,len);
        }
        //关闭流
        in.close();
        outputStream.close();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号