node/sails js загрузите изображение из Интернета и загрузите в sails API
Я пытаюсь написать скрипт импорта в Nodejs, который извлекает данные из Интернета и форматирует их, а затем отправляет их в мой API.
Частично это включает извлечение данных об исполнителе из LastFM, выборку изображений для каждого исполнителя и отправку их в мой API для изменения размера и сохранения.
Скрипт импорта только что запущен в терминале.
Часть скрипта импорта, которая отвечает за обработку изображений и их отправку в мой API, выглядит следующим образом:
_.forEach(artist.images, function(image){
console.log('uploading image to server ' + image.url)
request.get(image.url)
.pipe(request.post('http://MyAPI/files/upload', function(err, files){
if (err) {
console.log(err);
}
console.log('back from upload');
console.log(files);
}));
});
И действие files.upload выглядит так:
upload: function(req, res){
console.log('saving image upload');
console.log(req.file('image'));
res.setTimeout(0);
var sizes = [
['avatar', '280x210'],
['medium', '640x640'],
['large', '1024x768'],
['square', '100x100'],
['smallsquare', '50x50'],
['avatarsquare', '32x32']
];
//resize to the set dimensions
//for each dimension - save the output to gridfs
_.forEach(sizes, function(bucket){
var width = bucket[1, 0], height = bucket[1, 2];
// Let's create a custom receiver
var receiver = new Writable({objectMode: true});
receiver._write = function(file, enc, cb) {
gm(file).resize(width, height).upload({
adapter: require('skipper-gridfs'),
uri: 'mongodb://localhost:27017/sonatribe.' + bucket[0]
}, function (err, uploadedFiles) {
if (err){
return res.serverError(err);
}
else{
return res.json({
files: uploadedFiles,
textParams: req.params.all()
});
}
});
cb();
};
/* req.file('image').upload(receiver, function(err, files){
if(err) console.log(err);
console.log('returning files');
return files;
});*/
});
}
Тем не мение, console.log(req.file('image'));
это не то, на что я надеюсь - возможно, потому что этот код ожидает загрузки изображения как части загрузки формы из нескольких частей с полем с именем image
- что это не...
Я пытаюсь выяснить, как файл окажется в моих действиях, но мой Google Foo сегодня совершенно не работает, и я довольно (очень) новичок в Node.
Кто-нибудь может предложить несколько указателей?