注:操作环境:springboot+微信小程序
<!-- 腾讯云文字识别接口--> <dependency> <groupId>com.tencentcloudapi</groupId> <artifactId>tencentcloud-sdk-java</artifactId> <!-- go to https://search.maven.org/search?q=tencentcloud-sdk-java and get the latest version. --> <!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询所有版本,最新版本如下 --> <version>3.1.390</version> </dependency>
三个需要注意的参数:
secretId, String secretKey 去腾讯云开一个图像识别的功能 基本上 1元
上传图片路径 :req.setImageUrl(url) ,url为网络地址,本地地址不可以
常见错误:图片上传错误
/** *使用时需要注意三个参数:secretId, String secretKey ,上传图片路径 */ @RequestMapping(("/bigORC")) public @ResponseBody String big_ORC(@RequestParam(value = "imageName",required = false) String imageName) { System.out.println("看看你传过来的到底是什么名字"+imageName); imageName=imageName.replace("wxfile://",""); String fileContent=""; try{ // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密 // 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取 Credential cred = new Credential("去腾讯云注册这个东东", "去腾讯云注册这个东东"); // 实例化一个http选项,可选的,没有特殊需求可以跳过 HttpProfile httpProfile = new HttpProfile(); httpProfile.setEndpoint("ocr.tencentcloudapi.com"); // 实例化一个client选项,可选的,没有特殊需求可以跳过 ClientProfile clientProfile = new ClientProfile(); clientProfile.setHttpProfile(httpProfile); // 实例化要请求产品的client对象,clientProfile是可选的 OcrClient client = new OcrClient(cred, "ap-shanghai", clientProfile); // 实例化一个请求对象,每个接口都会对应一个request对象 GeneralAccurateOCRRequest req = new GeneralAccurateOCRRequest(); //这个路径一般要远程服务器端路径,本地路径我没有成功,可能是方法不对 req.setImageUrl("图片远程地址(本地电脑地址本人没有成功过)"); // 返回的resp是一个GeneralAccurateOCRResponse的实例,与请求对象对应 GeneralAccurateOCRResponse resp = client.GeneralAccurateOCR(req); // 输出json格式的字符串回包 // 输出json格式的字符串回包 TextDetection[] text=resp.getTextDetections(); for(int i=0;i< text.length;i++){ System.out.println(text[i].getDetectedText()); fileContent=fileContent+text[i].getDetectedText()+"\n"; } } catch (TencentCloudSDKException e) { System.out.println(e.toString()); } //返回的内容为识别出的字符串 return fileContent; }
只需要一个button绑定 big_ORC 函数,就可以了。
data: { textvalue:"" }, big_ORC:function (params) { var that=this; wx.request({ url: "自己的ip地址 端口号 文件名字", type: 'POST', header: { 'content-type': 'application/json' // 默认值 }, timeout: 15000, success:function(params2) { //console.log("success_params2->"+params2.data) that.setData({ //这里的params.data 就是springboot 端返回来识别的字符串 textvalue:params2.data }) }, fail:function(params) { //console.log("fail_params->"+params) that.setData({ textvalue:"转换文字失败" }) } }) },
如果本文对你有帮助,那也请你扫下码,支持下小编。