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();
        }
    }
经验分享 程序员 微信小程序 职场和发展