springboot下载模板文件功能

    先将要下载的文件复制到项目的resources的template文件夹下
    然后controller层的代码如下
/**
     * SKU下载模板
     * @param response
     * @param request
     */
    @GetMapping( "/downloadCsv")
    public void downloadExcel(HttpServletResponse response, HttpServletRequest request){
        String path = "/template/Template_Walmart_SKU_Cost.csv" ;
        String fileName = path.substring(path.lastIndexOf("/") + 1);
        try {
            downloadExcel(response, path, fileName);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    //下载sku模板
    public void downloadExcel(HttpServletResponse response, String path, String fileName) throws IOException {
        /** 将文件名称进行编码 */
        response.setHeader("content-disposition", "attachment;filename=" + 	 URLEncoder.encode(fileName, "UTF-8"));
        response.setContentType("content-type:octet-stream");
        /** 读取服务器端模板文件*/
        InputStream inputStream = this.getClass().getResourceAsStream("/template/" + fileName);

        /** 将流中内容写出去 .*/
        OutputStream outputStream = response.getOutputStream();
        byte[] buffer = new byte[1024];
        int len;
        while ((len = inputStream.read(buffer)) != -1) {
            outputStream.write(buffer, 0, len);
        }
        inputStream.close();
        outputStream.close();
    }
    最后在springboot中启动浏览器访问 Ip地址:8080/项目路径名/downloadCsv
    就可以下载该模板文件



全部评论

相关推荐

KKorz:是这样的,还会定期默写抽查
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务