Microsoft Cognitive API продолжает говорить мне: "message": "Входные данные не являются допустимым изображением или защищены паролем". - PullRequest
2 голосов
/ 27 мая 2020

У меня есть строка изображения base64, и я пытаюсь преобразовать ее в «поток приложения / октета», потому что это то, что требует api. Думаю, я сделал это, создав каплю, как вы можете видеть из моей функции. Когда я делаю вызов api, я продолжаю получать сообщение в заголовке. Кто-нибудь знает, что не так?

Я думаю, что мой blob не является октетным потоком, но я пробовал отправлять как обычную строку base64, так и blob. Пожалуйста, помогите, здесь действительно отчаяние

const blobPdfFromBase64String = base64String => {
        const byteArray = base64.toByteArray(base64String);
       return new Blob([byteArray], { type: 'application/octet-stream' });
    };

    let img = route.params.image;


    const sendImage = async() => {
        let url = `${config.ENDPOINT}vision/v3.0/read/analyze`;
        let headers = new Headers();
        let blob = blobPdfFromBase64String(img.base64);
        headers.append('Content-Type', 'application/octet-stream');
        headers.append('Ocp-Apim-Subscription-Key', config.KEY);
        try {
            let response = await fetch(url, { method:'POST', headers, body:blob});
            let json = await response.json();
            console.log(json)
            return json;
        } catch (error) {
            console.log(`Error in sendImage, ${error}`);
        }
    }
...