1、feign接口定义(注意:Response 导包)

import feign.Response;
    /*** 导出定义*/@PostMapping(value="/xx/export")Response export(@RequestBody JSONObject data);

2、接收feign的流,写入response中

/*** 导出*/@PostMapping("export")public void export(HttpServletRequest request, HttpServletResponse response) {//调feign获取feignResponseResponse feignResponse = xxxFeign.export(param);try {InputStream inputStream = feignResponse.body().asInputStream();response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("导出_" + System.currentTimeMillis() + ".zip", "UTF-8"));response.setContentType("application/octet-stream;charset=UTF-8");response.setCharacterEncoding("UTF-8");os = response.getOutputStream();byte[] b = toByteArray(inputStream);//测试代码writeToLocal("D:\\partner-resource\\导出_"+System.currentTimeMillis()+".zip",b);os.write(b);os.flush();} catch (Exception e) {e.printStackTrace();response.setContentType("application/text;charset=UTF-8");this.writeResponse(response, this.convertException(e));}finally {try {os.close();} catch (Exception e) {}}}/*** InputStream 转换成byte[]* @param input* @return* @throws IOException*/private static byte[] toByteArray(InputStream input) throws IOException {ByteArrayOutputStream output = new ByteArrayOutputStream();byte[] buffer = new byte[1024*4];int n = 0;while (-1 != (n = input.read(buffer))) {output.write(buffer, 0, n);}return output.toByteArray();}/*** 将bytes写入本地文件(测试代码)* @param destination* @param bytes* @throws IOException*/private static void writeToLocal(String destination, byte[] bytes)throws IOException {FileOutputStream downloadFile = new FileOutputStream(destination);downloadFile.write(bytes);downloadFile.flush();downloadFile.close();}

java将InputStream或bytes写入本地文件(传送门)

java使用feign接口下载文件相关推荐

  1. 2021-09-07-OSB学习(接口下载文件--流)

    OSB学习(接口下载文件[流的形式]) 什么是使用流文件传输 1.我们要干什么 2.接口开发 2.1.控制台通过执行PL显示流文件信息 2.1.1.创建基本的目录结构 2.1.2.打开项目,然后创建B ...

  2. Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。

    URL文件地址下载方法 一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 //文件下载downFile() {if ('download' in document. ...

  3. Feign接口获取文件流问题

    文件下载 @GetMapping(value = "/v1/files/**/{file_name:.+}")public void downFile(@PathVariable( ...

  4. java上传与下载文件_JavaWeb之实现文件上传与下载

    1.什么是上传和下载? -  数据上传是指客户端向服务器上传数据,客户端向服务器发送的所有请求都属于数据上传.文件上传是数据上传的一种特例,指的是客户端向服务器上传文件.即将保存在客户端的文件上传至服 ...

  5. Java从SFTP服务器下载文件一

    最近对接一个需求,要用SFTP去服务器上取文件,这里记录下自己的思路. SFTP下载文件需要用到jsch的jar包,我用的是jsch-0.1.54.jar,可以到http://www.jcraft.c ...

  6. java上传与下载文件_java实现文件的上传和下载功能

    准备工作 (视频教程推荐:java课程) 需要导入的jar包 运行截图 文件上传截图 文件下载截图 上传文件代码servlet@WebServlet(name = "UploadServle ...

  7. java上传和下载文件代码_JavaWeb中上传和下载文件实例代码

    一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.file; import java.io.fileoutputs ...

  8. Python接口下载文件

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : shenqiang''' 注意:定义类的时候,内部方法之间的互调 步骤: 1.按照流 ...

  9. Java 从网络上下载文件

    /**  * 下载文件到本地   */ public static void downloadPicture(String imageUrl, String filename){       URL  ...

最新文章

  1. IE8下面的line-height的bug
  2. linux 内核申请内存大小,linux内核常用的内存申请函数
  3. 商务部强势回应 欧盟裁定高额税率方法不合理
  4. 获取站点某一目录下某些文件
  5. 只需十四步:从零开始掌握 Python 机器学习(附资源)
  6. 用SQL语句添加删除修改字段
  7. 两个排序数组合并第k或前k个最小值问题
  8. 短时傅里叶分析:spectrogram函数
  9. Spring MVC--接收JSON格式的数据
  10. 电子设计竞赛(4)-常用的两种PID算法
  11. 光模块功能失效的原因有哪些?
  12. LeetCode 1759. 统计同构子字符串的数目
  13. Matlab画图线型、符号及颜色汇总
  14. 包含类别变量的中介模型检验方法
  15. 如何限制文件服务器上传文件的速度,怎么设置上传软件文件速度限制
  16. 从零学习Belief Propagation算法(二)
  17. APS系统到底是什么?为什么许多企业纷纷选择APS系统?
  18. 拍好的视频如何添加配乐
  19. 7.1 RAID(独立冗余磁盘阵列)
  20. 汇总:所有你该知道的AR/VR/3D技术与发展

热门文章

  1. java从零开始系统性学习完整超全资源+笔记(还在更新中)
  2. 25个国内外文献数据库
  3. 日文电子邮件的格式礼仪
  4. Mac运行Java项目-1-下载并配置JDK
  5. 年入几十万的美国程序员:工资涨不过物价 都不敢叫外卖点奶茶
  6. 演化强化学习:Wuji: Automatic Online Combat Game Testing Using Evolutionary Deep Reinforcement Learning
  7. Python 之 JSON序列化(我不得不说JSON让世界更加美好了)
  8. 设置浏览器禁用DPI缩放,360浏览器、火狐、谷歌
  9. ZIGBEE 协调器(刷写程序后)PAN_ID+1,与原来路由器无法组网
  10. ecshop lbi替换为html,ecshop商城网站首页幻灯片替换成自定义js轮播方法