将抓取图像的位置保存到数据库 - Node/MEAN

Saving Location of Scraped Image to DB - Node/MEAN

抓取图像后,我可以使用请求下载到文件夹。我想将这张图片的位置传递给我的 Mongoose collection.

在回调中我认为应该有一种方法来保存位置,这样我就可以在保存我的模型时传递它 object。

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);
  }
}

假设将生成 '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;
    ....
  });