Я пытаюсь отправить изображения, хранящиеся на хранилище Amazon S3, в службу визуального распознавания IBM Watson.Отправить изображение с AWS S3 в IBM Watson Visual Recognition
Ошибка я получаю Error: Invalid JSON content received. Unable to parse.
Следующий код работает на сервере Express.
function (imgResult) {
var imgName = imgResult[0][0].imghash;
var params = {
images_file: s3.getObject(
{
Bucket: "Bucket Address",
Key: `upload/${imgName}`
}
).createReadStream()
};
visual_recognition.classify(params, function (err, res) {
if (err) {
console.log(err);
} else {
res.images[0].classifiers[0].classes.forEach(function (tagClass) {
db.raw(`INSERT INTO smartfolio.tags VALUES (null, ${imgid.idimages}, '${tagClass.class}')`)
.then(function (results) {
})
.catch(function (err) {
console.log(err)
})
});
}
});
}
В приведенном выше коде imgResult является ответом запроса базы данных, содержащим имя изображения из базы данных. Я знаю, что проблема кроется в моей переменной params, но я как бы теряюсь в том, как отправить изображение с S3 на Watson.
Ошибка:
{ Error: Invalid JSON content received. Unable to parse.
at Request._callback (C:\Users\pheon\Desktop\Smartfolio-1\node_modules\watson-developer-cloud\lib\requestwrapper.js:74:15)
at Request.self.callback (C:\Users\pheon\Desktop\Smartfolio-1\node_modules\request\request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (C:\Users\pheon\Desktop\Smartfolio-1\node_modules\request\request.js:1081:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (C:\Users\pheon\Desktop\Smartfolio-1\node_modules\request\request.js:1001:12)
at IncomingMessage.g (events.js:292:16)
Любая помощь будет принята с благодарностью. Благодаря
Где находится JSON, который считается недействительным? По-видимому очевидным первым шагом является изучение этого. –
см. Выше –
Где находится JSON? –