将文件发送到 API 请求从 Python 发送到 React-native JavaScript 转换代码



我使用一个名为板识别器的第三方软件的 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 的示例。

相关内容

  • 没有找到相关文章

最新更新