所以我使用Google Cloud Vision API来获取图片上的数据。在我测试时,我遇到了一个显然超过最大字节大小长度的大图像。因此,我决定以编程方式检测您是否尝试这样做,并在发送给Google之前停止该过程。
当我查看谷歌的回复时,它说:"Request payload size exceeds the limit: 10485760 bytes."
好的,所以我决定弄清楚如何获取base64图像的字节大小,并在发送到谷歌之前检查它是否超过10485760
。但是,我尝试了两种不同的解决方案,两者都导致字节大小7907945
不超过Google端的最大大小。
我会发布base64,但它非常大,每当我尝试复制和粘贴时,它都会冻结我的浏览器,所以我现在就克制。我道歉,我想提供所有信息,但我甚至不能把它放在这里发布的要点。虽然我会继续努力。
相反,这是我的转换代码(我还尝试了另一种我在SO上找到的解决方案,它给了我相同的结果):
var b64str = atob(dataUri.replace('data:image/png;base64,',""));
var byteLength = b64str.length;
我做错了吗?
答案 0 :(得分:1)
7907945字节,或大约7.5 MB仍然似乎超出了API的最大文件大小。
查看the docs,似乎他们有4 MB的限制:
发送到Google Cloud Vision API的图像文件不应超过4 MB。