-
feign client接口接收 feign.Response
import feign.Response; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; /** * 文件服务client */ @FeignClient(url = "${service.url}", name = "fileManage") public interface FileManageClient { /** * 下载文件的接口 * @param path * @return */ @GetMapping(value = "/file/download") Response download(@RequestParam("path") String path); }
-
接收Response.body
Response fileRes = fileManageClient .download(filePath); InputStream fileIs = fileRes.body().asInputStream(); if (fileIs != null && fileIs.available() > 0) { // 保存文件 FileUtil.saveInputStreamAsFile(fileIs, fileRootPath, fileName); }
-
InputStream保存为文件
public static String saveInputStreamAsFile(InputStream ins, String fileRootPath, String fileName) throws IOException { String currentDate = DateUtil.formatDate(LocalDate.now(), "yyyyMMdd"); try { String relativePath = "/" + currentDate + "/" + fileName; File file = new File(fileRootPath + relativePath); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } OutputStream os = new FileOutputStream(file); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); ins.close(); return relativePath; } catch (Exception e) { throw e; } }
feign client 在后端下载文件
最新推荐文章于 2024-07-11 11:33:15 发布