Javascript 错误:enoint,使用nodejs下载.jpg时没有这样的文件或目录

Javascript 错误:enoint,使用nodejs下载.jpg时没有这样的文件或目录,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我正在使用nodejs服务器和discordjs构建一个discord机器人,我正在尝试做的一件事是将.jpg discord链接(即)传递到npm模块jpeg js,这样我就有希望检索特定像素的颜色 我试图通过下载位于上面链接的图像来解决这个问题。我也使用了其他方法,但它们都导致了各种不同的错误。不幸的是,其他带有类似错误的stackoverflow主题没有包含任何对我有帮助的内容。如果有人有更好的方式下载nodejs中的图像和/或更智能的方式获取像素的颜色,请让我知道 //attempt t

我正在使用nodejs服务器和discordjs构建一个discord机器人,我正在尝试做的一件事是将.jpg discord链接(即)传递到npm模块jpeg js,这样我就有希望检索特定像素的颜色

我试图通过下载位于上面链接的图像来解决这个问题。我也使用了其他方法,但它们都导致了各种不同的错误。不幸的是,其他带有类似错误的stackoverflow主题没有包含任何对我有帮助的内容。如果有人有更好的方式下载nodejs中的图像和/或更智能的方式获取像素的颜色,请让我知道

//attempt to download 
let download = function(uri, filename, callback){
request.head(uri, function(err, res, body){
    console.log('content-type:', res.headers['content-type']);
    console.log('content-length:', res.headers['content-length']);
    request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
    });
};
//the actual function call
download(`[the path above]`, 'file.jpg', function(){
 console.log('done');
});

//all that above so that I can hopefully do
let jpegData = fs.readFileSync('file.jpg');
let rawImageData = jpeg.decode(jpegData);
console.log(rawImageData);

//which will (in theory) allow me to inspect specific pixels.
预期结果:我希望文件被下载到这个程序的根目录中,以便它的第二部分可以将jpeg解码成我可以修改的内容。


编辑:我仍然收到相同的错误,所以这里是我更新的代码(我把代码片段放大了一点)


下载
是异步的。将最后三行移到where
console.log('done')
is.doe中,仍然得到一个错误:(您提供的链接上的图像是一个png,而不是jpg。我正在测试的是一个。jpg
download
是异步的。将最后三行移到where
console.log('done')
is.doe中,仍然得到一个错误:(您提供的链接上的图像是png,而不是jpg。我测试的是.jpg
    let download = function(uri, filename, callback){
      request.head(uri, function(err, res, body){
         console.log('content-type:', res.headers['content-type']);
         console.log('content-length:', res.headers['content-length']);
         request(uri).pipe(fs.createWriteStream(filename)).on('close', callback);
         });
    };

    someOtherFunction()
    {
       let pokePath = 'thisisthebiglinkabove'
        console.log(pokePath);
        download(pokePath, 'nameoffile.jpg', function(){
          let jpegData = fs.readFileSync(filename);
          let rawImageData = jpeg.decode('nameoffile.jpg');
          console.log(rawImageData);
          console.log('done');
        });
    },