日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Cloud——基于OpenFeign调用PaddleOCR的Restful API服务解决方案

發布時間:2024/10/5 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Cloud——基于OpenFeign调用PaddleOCR的Restful API服务解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PaddleOCR的Restful API服務部屬

Docker化部署服務

PaddleOCR——Docker環境下基于HubServing模式部署Restful API服務(CPU版本)?

Maven

<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR8</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--Hutool: A set of tools that keep Java sweet.--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.8</version></dependency></dependencies>

?

解決方案

OpenFeign調用接口?

@FeignClient(name="OCRService", url="127.0.0.1:8866") public interface IOCRService {@RequestMapping(value = "/predict/ocr_system",method = RequestMethod.POST)Object ocr(ImageDTO images); }

接口參數DTO封裝?

@Data public class ImageDTO {private List<String> images; }

?Controller

@RestController public class OCRController {private final IOCRService iocrService;public OCRController(IOCRService iocrService) {this.iocrService = iocrService;}@RequestMapping(value = "/ocr",method = {RequestMethod.POST})public Object ocr(MultipartFile[] file){try {String s =ImageBase64Encoder.encode(file[0].getInputStream());List<String> list = new ArrayList<>();list.add(s);ImageDTO dto= new ImageDTO();dto.setImages(list);return iocrService.ocr(dto);} catch (IOException e) {e.printStackTrace();}return null;} }

工具類:

import cn.hutool.core.codec.Base64Encoder;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Objects;/*** 圖片Base64編碼*/ public class ImageBase64Encoder {/*** 將圖片轉為Base64編碼字符串* @param imgPath 圖片路徑* @return Base64編碼字符串*/public static String encode(String imgPath) throws FileNotFoundException {return encode(new FileInputStream(imgPath));}/*** 將圖片轉為Base64編碼字符串* @param in 圖片輸入流* @return Base64編碼字符串*/public static String encode(InputStream in) {byte[] data = null;// 讀取圖片字節數組try {data = new byte[in.available()];int res = in.read(data);in.close();} catch (IOException e) {e.printStackTrace();}/**對字節數組Base64編碼*返回Base64編碼過的字節數組字符串;*/return Base64Encoder.encode(Objects.requireNonNull(data));}}

參考文章

總結

以上是生活随笔為你收集整理的Spring Cloud——基于OpenFeign调用PaddleOCR的Restful API服务解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。