$client = self::createClient();
$file = '/upfiles/2188.jpeg';
$ossUrl = ViapiUtils::upload("", "", $file);
echo $ossUrl;exit;
$recognizeBusinessLicenseRequest = new RecognizeBusinessLicenseRequest([
"imageURL" => $ossUrl
]);
智能视觉本地图片这样子使用可以吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提供的代码片段中,使用了 ViapiUtils::upload("", "", $file)
方法来上传本地图片,并将返回的 OSS URL 作为参数传递给 RecognizeBusinessLicenseRequest
对象。
然而,阿里云智能视觉服务并不支持直接识别本地图片,需要将本地图片上传到阿里云 OSS 上,并使用 OSS URL 或者阿里云 RAM 临时授权的 URL 进行识别。
因此,您需要确保 ViapiUtils::upload("", "", $file)
方法能够成功上传图片到阿里云 OSS,并返回一个有效的 OSS URL。同时,也需要确保您的 RecognizeBusinessLicenseRequest
对象能够正确处理 OSS URL 或者 RAM 临时授权的 URL。
智能视觉服务需要的是图片的二进制数据,而不是图片的本地路径或URL地址。因此,你需要将本地图片读取为二进制数据,然后将其传递给智能视觉服务。
你可以使用PHP的file_get_contents函数将本地图片读取为二进制数据,然后将其传递给ViapiUtils::upload方法,例如:
$file = '/upfiles/2188.jpeg'; $imageData = file_get_contents($file); $ossUrl = ViapiUtils::upload("", "", $imageData); 这样可以将本地图片读取为二进制数据,并将其上传到智能视觉服务。然后,你可以使用上传后的图片URL地址调用智能视觉服务的接口。
注意:ViapiUtils::upload方法需要的是图片的二进制数据,而不是图片的URL地址。因此,在调用ViapiUtils::upload方法时,应该将第三个参数传递为图片的二进制数据,而不是图片的URL地址。
不行哈,图片在本地,你看下这个营业执照识别最佳实践中的本地图片调用方式 https://help.aliyun.com/document_detail/600232.html 你上面的代码是调用图片在上海oss的调用方式,我发你的文档中对于本地文件或者非上海oss的图片URL,是用AdvanceRequest的方式,你在看下代码哈 ,此回答整理自钉群“阿里云视觉智能开放平台咨询1群”
这样子是不行的,目前新版SDK已经支持文件在本地或者非上海地域OSS文件,与文件在同地域的区别在于,需要使用xxxAdvanceRequest将文件以stream形式通过ImageURLObject参数传入进行后续调用,详情请参见各语言SDK参考。