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.

Кто-нибудь может предложить несколько указателей?

0 ответов

Другие вопросы по тегам