看了看阿里云的ocr和百度的ocr接口,都是需要图片转成base64再调用接口,都对图片有大小限制,阿里云ocr是要求图片小于1.5m,百度ocr是要求转base64然后urlencode后大小不超过4M。
然后这种ocr接口是前端来调呢还是后端来调呢?前后端来调各有什么好处?
前端调的话百度要求的转base64然后urlencode后大小不超过4M,这个用js怎么判断呢?求大佬指教
看了看阿里云的ocr和百度的ocr接口,都是需要图片转成base64再调用接口,都对图片有大小限制,阿里云ocr是要求图片小于1.5m,百度ocr是要求转base64然后urlencode后大小不超过4M。
然后这种ocr接口是前端来调呢还是后端来调呢?前后端来调各有什么好处?
前端调的话百度要求的转base64然后urlencode后大小不超过4M,这个用js怎么判断呢?求大佬指教
一般都是后台调用的,不建议前端调用,因为你的接口调用key和密钥会暴露
调用百度OCR接口需要Access Token,而Access Token又是通过API Key和Secret Key获取的,这些放在前端肯定不安全。
下面是官方文档介绍:
请求URL数据格式
向API服务地址使用POST发送请求,必须在URL中带上参数:
access_token:必须参数,参考“Access Token获取”。
注意:access_token
的有效期为30天,需要每30天进行定期更换;
POST中参数按照API接口说明调用即可。
例如文字识别API,使用HTTPS POST发送:
https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074
我们公司是前端压缩,传到OSS,成功后调后端OCR接口,参数是图片地址,后端再返回OCR结果.
前端压缩是input读取时,超过阈值,将图片绘制到一个小尺寸的canvas上,再吐出来.最终再上传OSS.
OSS虽然同样提供了按尺寸缩放图片的功能,但大于3,4m的图片,压缩效果就很不明显了.
10 回答11.4k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.5k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
前端转base64 转出来会很大,其实建议发文件流给后台,让后台去请求阿里云或腾讯