我使用一个名为板识别器的第三方软件的 api,可以在这里看到我尝试了他们的 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.两个代码中两个图像的文件路径都是正确的。
当我将图像上传到服务器时,我通过以下方式构建了FormData
。
let file = {
name: 'myimage.jpg',
uri: 'path/to/the/image/myimage.jpg',
type: 'image/jpg'
};
let body = new FormData();
body.append('upload', file);
该文档现在包含一个如何在 Javascript 中使用 API 的示例。