问题描述
- A服务(服务提供者)提供文件下载接口
- B服务(服务消费者)通过Feign请求拿到文件
服务提供者A
@GetMapping(value = "/file/{fileName}")public void downFile(@PathVariable("fileName") String fileName, HttpServletResponse response) {// 返回一个文件流}
服务消费者B
Feign客户端
@FeignClient("consume-file")public interface FileFeignClient {@GetMapping(value = "/file/{fileName}")Response downFile(@PathVariable("fileName") String fileName);}
响应给前端 ```java private final FileFeignClient fileFeignClient;
@GetMapping(value = “down/{fileName}”) public void down(@PathVariable(“fileName”) String fileName, HttpServletResponse response){ Response responseFile = fileFeignClient.downFile(fileName); InputStream inputStream = responseFile.body().asInputStream(); // TODO设置响应头及响应文件名称
IOUtils.copy(inputStream,response.getOutputStream());
} ```
