首页>代码>百度云、有道云OCR图片文字通用识别,spring boot项目实现>/src/main/java/com/yafengliang/baidu/controller/GeneralController.java
package com.yafengliang.baidu.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yafengliang.baidu.model.GeneralOcr; import com.yafengliang.baidu.model.WordsResult; import com.yafengliang.baidu.util.Base64Util; import com.yafengliang.baidu.util.FileUtil; import com.yafengliang.baidu.util.HttpUtil; import com.yafengliang.api.AuthService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import java.io.InputStream; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; /** * @Author : yafengliang * @Description: 通用识别 * @Date : 2020-12-04 14:59 **/ @Controller @Slf4j public class GeneralController { //百度通用 OCR_URL public static String GENERAL_OCR_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"; //百度获取 ACCESS_TOKEN public static String ACCESS_TOKEN = AuthService.getAuth(); @RequestMapping(value = {"/baidu"}) public String toIndex(){ return "baidu"; } @RequestMapping(value="/baiDuMsg", method= RequestMethod.POST) @ResponseBody public GeneralOcr upload(MultipartHttpServletRequest fileRequest){ MultipartFile file = fileRequest.getFile("file"); try { InputStream in = file.getInputStream(); byte[] bytes = FileUtil.getFileBytes(in); String imgStr = Base64Util.encode(bytes); String params = URLEncoder.encode("image","UTF-8")+ "=" + URLEncoder.encode(imgStr,"UTF-8"); String result = HttpUtil.post(GENERAL_OCR_URL,ACCESS_TOKEN,params); log.info("识别结果:{}", result); JSONObject jsonObject = JSONObject.parseObject(result); GeneralOcr generalOcr = new GeneralOcr(); String log_id = jsonObject.getString("log_id"); generalOcr.setLogid(log_id); // String words_result_num = jsonObject.getString("words_result_num"); // generalOcr.setResultnum(Integer.valueOf(words_result_num)); String words_result = jsonObject.getString("words_result"); JSONArray jsonArray = JSON.parseArray(words_result); List<WordsResult> list = new ArrayList<>(); StringBuilder sb = new StringBuilder(); for (Object obj : jsonArray) { JSONObject object = JSONObject.parseObject(obj.toString()); String words = object.getString("words"); sb.append(words); } generalOcr.setResultwords(sb.toString()); // log.info("GeneralResult:{}",generalOcr.toString()); return generalOcr; }catch (Exception e){ e.printStackTrace(); } return null; } }

柒月只是个码农 LV4
2023年8月29日
我真的是小明 LV10
2023年3月21日
xopomo LV1
2023年3月10日
kevinyu168 LV1
2022年1月10日
刘强一 LV13
2021年10月28日
戒烟失败 LV3
2021年5月13日
lifanfanfan LV5
2021年4月22日
kakaka21 LV3
2021年2月8日
bflcf LV6
2021年1月5日
Web项目聚集地 LV24
2021年1月3日

新哥新奇士橙 LV4
1月26日
444105047 LV6
2024年11月27日
周周快乐快乐
2024年9月8日
暂无贡献等级
TY0165 LV20
2024年6月19日
kiliny
2024年6月5日
暂无贡献等级
3334004690 LV10
2024年5月28日
kenhomeliu LV29
2024年4月30日
tr1314qq LV17
2024年2月5日
haozhilang LV9
2023年10月23日
柒月只是个码农 LV4
2023年8月29日