Передача буфера в мой API дает мне внутреннюю ошибку сервера - PullRequest
0 голосов
/ 13 октября 2019

Я передаю изображение base64 с моей веб-камеры на api через мой node.js. Я использую буфер для кодирования моего изображения base64, и он, кажется, прошел. Проблема в том, что ответ, который я получаю с сервера, Internal Server Error. Почему это? Есть ли способ заставить это работать с base64 или я должен сохранить изображение локально?

Вот мой код для node.js:

this.recognizeImg = (url)=>{
    let requestString = "https://lambda-face-recognition.p.rapidapi.com/recognize";
    let req = unirest("POST", requestString);
    let imgURL = url;
    let buffer = Buffer.from(imgURL.split("base64,")[1], "base64");

    let promise = new Promise(function(resolve, reject) {
       unirest.post(requestString)
       .header("X-RapidAPI-Key", API_KEY)
       .attach("file", buffer)
       .field("album", ALBUM_NAME)
       .field("albumkey", ALBUM_KEY)
       .end(result => {
           resolve(result.body) // giving response back
       });
    });

   return promise;
}

Моя ошибка:

body result: internal server error
500 { 'content-type': 'text/html; charset=UTF-8',
  date: 'Sun, 13 Oct 2019 16:36:07 GMT',
  server: 'RapidAPI-1.0.32',
  'x-rapidapi-region': 'AWS - ap-northeast-1',
  'x-rapidapi-version': '1.0.32',
  'x-ratelimit-detect-limit': '1000',
  'x-ratelimit-detect-remaining': '937',
  'x-ratelimit-recognize-limit': '1000',
  'x-ratelimit-recognize-remaining': '864',
  'content-length': '21',
  connection: 'Close' } 'internal server error'
...