java使用feign接口下载文件
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接口下载文件相关推荐
- 2021-09-07-OSB学习(接口下载文件--流)
OSB学习(接口下载文件[流的形式]) 什么是使用流文件传输 1.我们要干什么 2.接口开发 2.1.控制台通过执行PL显示流文件信息 2.1.1.创建基本的目录结构 2.1.2.打开项目,然后创建B ...
- Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
URL文件地址下载方法 一.正常情况下,我们都如此下载文件并修改文件名,在a标签上面添加download属性 //文件下载downFile() {if ('download' in document. ...
- Feign接口获取文件流问题
文件下载 @GetMapping(value = "/v1/files/**/{file_name:.+}")public void downFile(@PathVariable( ...
- java上传与下载文件_JavaWeb之实现文件上传与下载
1.什么是上传和下载? - 数据上传是指客户端向服务器上传数据,客户端向服务器发送的所有请求都属于数据上传.文件上传是数据上传的一种特例,指的是客户端向服务器上传文件.即将保存在客户端的文件上传至服 ...
- Java从SFTP服务器下载文件一
最近对接一个需求,要用SFTP去服务器上取文件,这里记录下自己的思路. SFTP下载文件需要用到jsch的jar包,我用的是jsch-0.1.54.jar,可以到http://www.jcraft.c ...
- java上传与下载文件_java实现文件的上传和下载功能
准备工作 (视频教程推荐:java课程) 需要导入的jar包 运行截图 文件上传截图 文件下载截图 上传文件代码servlet@WebServlet(name = "UploadServle ...
- java上传和下载文件代码_JavaWeb中上传和下载文件实例代码
一丶先引入上传下载的lib 二丶上传的的servlet package com.test.action; import java.io.file; import java.io.fileoutputs ...
- Python接口下载文件
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : shenqiang''' 注意:定义类的时候,内部方法之间的互调 步骤: 1.按照流 ...
- Java 从网络上下载文件
/** * 下载文件到本地 */ public static void downloadPicture(String imageUrl, String filename){ URL ...
最新文章
- IE8下面的line-height的bug
- linux 内核申请内存大小,linux内核常用的内存申请函数
- 商务部强势回应 欧盟裁定高额税率方法不合理
- 获取站点某一目录下某些文件
- 只需十四步:从零开始掌握 Python 机器学习(附资源)
- 用SQL语句添加删除修改字段
- 两个排序数组合并第k或前k个最小值问题
- 短时傅里叶分析:spectrogram函数
- Spring MVC--接收JSON格式的数据
- 电子设计竞赛(4)-常用的两种PID算法
- 光模块功能失效的原因有哪些?
- LeetCode 1759. 统计同构子字符串的数目
- Matlab画图线型、符号及颜色汇总
- 包含类别变量的中介模型检验方法
- 如何限制文件服务器上传文件的速度,怎么设置上传软件文件速度限制
- 从零学习Belief Propagation算法(二)
- APS系统到底是什么?为什么许多企业纷纷选择APS系统?
- 拍好的视频如何添加配乐
- 7.1 RAID(独立冗余磁盘阵列)
- 汇总:所有你该知道的AR/VR/3D技术与发展
热门文章
- java从零开始系统性学习完整超全资源+笔记(还在更新中)
- 25个国内外文献数据库
- 日文电子邮件的格式礼仪
- Mac运行Java项目-1-下载并配置JDK
- 年入几十万的美国程序员:工资涨不过物价 都不敢叫外卖点奶茶
- 演化强化学习:Wuji: Automatic Online Combat Game Testing Using Evolutionary Deep Reinforcement Learning
- Python 之 JSON序列化(我不得不说JSON让世界更加美好了)
- 设置浏览器禁用DPI缩放,360浏览器、火狐、谷歌
- ZIGBEE 协调器(刷写程序后)PAN_ID+1,与原来路由器无法组网
- ecshop lbi替换为html,ecshop商城网站首页幻灯片替换成自定义js轮播方法