我使用了称为Plate识别器的第三方软件的api,可以看到here我尝试了他们的python示例代码,并且可以正常工作,但是当我使用javascript代码进行尝试时,他们的api响应值不同表示我的JavaScript代码不等同于他们提供给我的正在工作的python代码,问题是如何使我的代码与我创建的python代码完全相同的功能?
这是我运行的python代码,可以给我成功的响应,并提供预期的输出。
# pip install requests
import requests
from pprint import pprint
with open('./sampleCar3.jpg', 'rb') as fp:
response = requests.post(
'https://platerecognizer.com/api/plate-reader/',
files=dict(upload=fp),
headers={'Authorization': 'Token API_TOKEN'})
pprint(response.json())
这是我在javascript上尝试记录错误输出的代码
placeRecognizerPostRequest(imgSrc) {
// imgSrc value = ./sampleCar3.jpg
const body = new FormData();
body.append("upload", imgSrc);
fetch("https://platerecognizer.com/api/plate-reader/", {
method: 'POST',
headers: {
"Authorization": "Token API_TOKEN",
"Content-Type": "multipart/form-data"
},
body: body
}).then((response) => {
console.log(response);
}).catch((err) => {
console.log(err);
});
}
我想要他们的api的成功输出响应,它在我的python代码中是成功的,但是却给了我一个意料之外的失败json响应。
PS。两个代码中两个图像的文件路径均正确。
答案 0 :(得分:1)
当我将图像上传到服务器时,我以以下方式构造了FormData
。
let file = {
name: 'myimage.jpg',
uri: 'path/to/the/image/myimage.jpg',
type: 'image/jpg'
};
let body = new FormData();
body.append('upload', file);
答案 1 :(得分:0)
文档现在包含有关如何use the API in Javascript的示例。