zoukankan      html  css  js  c++  java
  • SpringCloud Feign请求流文件

    Provider

    服务提供方接口返回流文件

     Consumer

    消费者接受方式为fegn.Response,下载:

    public ModelAndView getChecklistTree(HttpServletResponse servletResponse) {
            ModelAndView mv = new ModelAndView();
            mv.setView(new DownloadView());
    
            Response response = violationService.download();
            Response.Body body = response.body();
            Map<String, Collection<String>> headers = response.headers();
            InputStream fileInputStream = null;
            try {
                fileInputStream = body.asInputStream();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                IOUtils.closeQuietly(fileInputStream);
            }
            try {
                String filename = Optional.ofNullable(headers.get("filename11")).map(m -> m.stream().collect(Collectors.toList()).get(0))
                        .orElse(URLEncoder.encode("分红方案-每股股息.xlsx", "utf-8"));
                mv.addObject(DownloadView.EXPORT_FILE, fileInputStream);
                mv.addObject(DownloadView.EXPORT_FILE_NAME, filename);
                mv.addObject(DownloadView.EXPORT_FILE_TYPE, DownloadView.FILE_TYPE.XLSX);
                servletResponse.setHeader("fileName", filename);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
    
            return mv;
        }
  • 相关阅读:
    层模型--绝对定位(position:absolute)
    什么是层模型?
    浮动模型
    流动模型(二)
    插值方法
    CFS调度分析(内核版本:2.6.34)
    CRC检验
    ubuntu误删home目录
    随想
    Android——Activity生命周期
  • 原文地址:https://www.cnblogs.com/LiuFqiang/p/15792776.html
Copyright © 2011-2022 走看看