下载远程图像会出错:stream.js:94错误:ENOENT,打开'path / to / file'

时间:2014-03-06 20:18:41

标签: javascript node.js

我正在尝试下载远程图像并将其保存在我服务器上的images文件夹中。

我收到错误Error: ENOENT, open 'path/to/file'

我用:

function download (uri, filename, callback) {
  request.head(uri, function(err, res, body){
    var r = request(uri).pipe(fs.createWriteStream(filename));
    r.on('close', callback);
  });
};

var imgURL = "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg"

var newImgName = "/images/imageName.jpg"
// If I do var newImgName = "imageName.jpg", it works.

download(imgURL, newImgName, function () {
  console.log('Done downloading..');
});

1 个答案:

答案 0 :(得分:2)

因为newImgName的开头有一个斜杠,所以它试图将图像放在硬盘根目录的images文件夹中。如果您尝试将其放在代码所在的images文件夹中,请尝试以下操作:

var newImgName = "./images/imageName.jpg";