zoukankan      html  css  js  c++  java
  • java如何编写下载功能

        @RequestMapping("/downLoadFailRecord")
        public ModelAndView downLoadFailRecord(
                HttpServletRequest request,HttpServletResponse response,
                @ModelAttribute("filePath")String filePath) throws Exception{
            
            log.info("======文件路径====filePath:"+filePath);
            
            String excelData = "";
            
            String str = "医路通保存失败统计记录";
            
            excelData = medicalService.getFailMedical(filePath);
            
            log.info("*******解析的字符串为:"+excelData);
            
            response.setContentType("application/ms-txt;charset=UTF-8"); 
            response.addHeader("Content-Disposition","attachment; filename=" + new String(str.getBytes("GBK"),"ISO8859_1") + ".xls"); 
            response.getWriter().write(excelData);
            return null;
        }
    excelData为object类型的数据字符串
    方法二:发现的有点晚,还好不算太晚
    @RequestMapping(value="downLoadFile")
        public void downLoadFile(HttpServletRequest request, HttpServletResponse response) throws Exception 
        {
            
            //方法二:非常好用的下载文件代码
            String outFileName = "测试文件.xls";
            String filePath="d:/batchInsure.xls";
            /*String outFileName = "测试文件.csv";
            String filePath="d:/secendTest.csv";*/
            
            BufferedInputStream bis = null;
            BufferedOutputStream bos = null;
            ServletOutputStream out = null;
            PrintWriter pw = null;
            FileInputStream fis = null;
            fis = new FileInputStream(filePath);
            response.setHeader("Content-disposition", "attachment;filename="+URLEncoder.encode(outFileName,"UTF-8"));
            out = response.getOutputStream();
            bis = new BufferedInputStream(fis);
            bos = new BufferedOutputStream(out);
            byte[] buff = new byte[2048];
            int len = 0;
            while((len=bis.read(buff))!=-1){
                bos.write(buff,0,len);
            }
            bos.flush();
            out.flush();
        }

    方法二非常好用,适合各种类型的文件

     
  • 相关阅读:
    Win10 UWP Tile Generator
    Win10 BackgroundTask
    UWP Tiles
    UWP Ad
    Win10 build package error collections
    Win10 八步打通 Nuget 发布打包
    Win10 UI入门 pivot multiable DataTemplate
    Win10 UI入门 导航滑动条 求UWP工作
    UWP Control Toolkit Collections 求UWP工作
    Win10 UI入门 SliderRectangle
  • 原文地址:https://www.cnblogs.com/yinyl/p/8308646.html
Copyright © 2011-2022 走看看