您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用Feign怎么實現(xiàn)微服務(wù)間文件下載,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
feign_upload_first服務(wù)提供者
服務(wù)提供者下載文件接口
@RequestMapping(value = "/downloadFile",method = RequestMethod.GET,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) public void downloadFile(HttpServletResponse response){ String filePath = "D://1.txt"; File file = new File(filePath); InputStream in = null; if(file.exists()){ try { OutputStream out = response.getOutputStream(); in = new FileInputStream(file); byte buffer[] = new byte[1024]; int length = 0; while ((length = in.read(buffer)) >= 0){ out.write(buffer,0,length); } } catch (IOException e) { e.printStackTrace(); } finally { if(in != null){ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
三、feign_upload_second服務(wù)消費者
服務(wù)提供者遠程調(diào)用接口
@RequestMapping(value = "/downloadFile",method = RequestMethod.GET,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) Response downloadFile();
用feign.Response來接收
服務(wù)提供者下載文件接口
@RequestMapping(value = "/download",method = RequestMethod.GET) public ResponseEntity<byte[]> downFile(){ ResponseEntity<byte[]> result=null ; InputStream inputStream = null; try { // feign文件下載 Response response = uploadService.downloadFile(); Response.Body body = response.body(); inputStream = body.asInputStream(); byte[] b = new byte[inputStream.available()]; inputStream.read(b); HttpHeaders heads = new HttpHeaders(); heads.add(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=123.txt"); heads.add(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_JSON_VALUE); result = new ResponseEntity <byte[]>(b,heads, HttpStatus.OK); } catch (IOException e) { e.printStackTrace(); } finally { if(inputStream != null){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }
上述內(nèi)容就是使用Feign怎么實現(xiàn)微服務(wù)間文件下載,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。