Я использую API лямбда-распознавания лиц и распознавания лиц через RapidAPI , и в настоящее время я загружаю изображение через их API. Ниже у меня есть 2 сценария. Оба имеют одинаковое содержание, но кажется, что работает только один, а другой выдает ошибку.
Я получаю следующую ошибку:
code: 500,
error: 'ERROR: \'NoneType\' object has no attribute \'startswith\''
Единственная разница между этими двумяявляется то, что один метод извлекает productId и productLink из базы данных Монго, в то время как другой жестко закодирован. Ниже приведен код:
//pulled from db and stored in variables
let productId = product._id.toString(); //5d9ca969835e1edb64cf03d5
let productLink = product.ProductLink; //http://localhost:4000/uploads/1570544614486-test.jpg
//insert data into api
//doesn't work
myFaceDetAPI.trainAlbum(productLink, productId);
//works
myFaceDetAPI.trainAlbum("http://localhost:4000/uploads/1570544614486-test.jpg", "5d9ca969835e1edb64cf03d5");
моя функция:
this.trainAlbum = (url, id)=>{
let requestString = "https://lambda-face-recognition.p.rapidapi.com/album_train";
let req = unirest("POST", requestString);
let imgURL = url;
let entryId = id
unirest.post(requestString)
.header("X-RapidAPI-Key", API_KEY)
.attach("files", fs.createReadStream(createPath(imgURL)))//creates file path
.field("album", ALBUM_NAME)
.field("albumkey", ALBUM_KEY)
.field("entryid", entryId)
.end(result => {
console.log(result.body);
});
}
Вопросы:
- Почему жестко закодированный метод работает и тот, который тянетданных из базы данных нет?
- Как заставить работать тот, который извлекает данные из базы данных?