将Scraped图像的位置保存到DB - Node / MEAN

时间:2015-10-15 12:04:10

标签: angularjs node.js mongoose mean multer

在抓取图像后,我可以使用请求下载到文件夹。我想将此图像的位置传递给我的Mongoose系列。

在回调中,我认为应该有一种方法来保存位置,以便在保存模型对象时可以传递它。

exports.createLook = function(req, res) {
  var url = req.body.image;
  var randomizer = '123456';

  var download = function(url, filename, callback) {

    request(url)
      .pipe(fs.createWriteStream(filename))
      .on('close', callback);
  };

  download(url, '../client/assets/images/' + randomizer + '.jpg', function() {
    console.log('done');
    // do something?
  });

   // now get model details to save
   var newLook = new Look();
   newLook.title = req.body.title;
   newLook.image =       // image location

   newLook.save(function(err, look) {
     if(err) return res.send(500);
  } else {
    res.send(item);
  }
}

1 个答案:

答案 0 :(得分:1)

假设将生成'randomizer',我会这样做:

exports.createLook = function(req, res) {
  var url = req.body.image;
  var randomizer = getSomthingRandom();

  var download = function(url, filename, callback) {

    request(url)
      .pipe(fs.createWriteStream(filename))
      .on('close', callback(filename);
  };

  download(url, '../client/assets/images/' + randomizer + '.jpg', function(filename) {
    console.log('done');
    // now get model details to save
    var newLook = new Look();
    newLook.title = req.body.title;
    newLook.image = filename;
    ....
  });