File文件转成流的形式输出给前端

解:我们通过new File()可以获取到windows电脑本地文件,或者linux服务器文件(在没有使用文件服务器的情况下只能去new File拿到文件,再转成文件流给前端),通过FileInputStream输出流将文件内容 流的形式输出到HttpServletResponse返回给前端

直接上代码

public void test(HttpServletResponse response){
        ServletOutputStream out = null;
        File file = new File("C:\\Users\\yujq\\Desktop\\统计.xlsx");
        try{
            out = response.getOutputStream();
            
            /** 导出excel文件流 */
            response.setHeader("content-Type", "application/vnd.ms-excel");
            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("啦啦啦测试吧","UTF-8") + ".xls");
            response.setCharacterEncoding("UTF-8");
			
			/** 导出pdf文件流 */
        	response.setCharacterEncoding("UTF-8");
        	response.setContentType("application/pdf");
        	response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "inline; filename="+ URLEncoder.encode("下载简历","UTF-8"));

			
            FileInputStream inputStream = new FileInputStream(file);
            // 读取文件流
            int len = 0;
            byte[] buffer = new byte[1024 * 10];
            while ((len = inputStream.read(buffer)) != -1) {
                out.write(buffer, 0, len);
            }
            out.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值