微信小程序实现腾讯云接口 图象识别
注:操作环境:springboot+微信小程序
1.导入maven 腾讯云图象识别接口 jar包
<!-- 腾讯云文字识别接口-->
<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>
2.实现springboot端功能
三个需要注意的参数:
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;
}
3.微信小程序 js 代码
只需要一个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:"转换文字失败"
})
}
})
},
4.微信小程序 查看效果。
如果本文对你有帮助,那也请你扫下码,支持下小编。