Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Image Manipulation Discord.js:没有这样的文件或字典_Javascript_Node.js_Discord.js_Image Manipulation - Fatal编程技术网

Javascript Image Manipulation Discord.js:没有这样的文件或字典

Javascript Image Manipulation Discord.js:没有这样的文件或字典,javascript,node.js,discord.js,image-manipulation,Javascript,Node.js,Discord.js,Image Manipulation,我正在尝试使用Discord.js创建一个Discord Bot,但每次我尝试运行该命令时,它都会返回一个错误,并显示: UnhandledPromisejectionWarning:错误:eOne,没有这样的文件或目录。'/background.jpg' 这是我的代码: const Discord=require('Discord.js'); const Canvas=require('Canvas') module.exports={ 名称:“级别”, 描述:“级别命令”, 执行:异步(消息

我正在尝试使用Discord.js创建一个Discord Bot,但每次我尝试运行该命令时,它都会返回一个错误,并显示:

UnhandledPromisejectionWarning:错误:eOne,没有这样的文件或目录。'/background.jpg'

这是我的代码:

const Discord=require('Discord.js');
const Canvas=require('Canvas')
module.exports={
名称:“级别”,
描述:“级别命令”,
执行:异步(消息,客户端)=>{
const canvas=canvas.createCanvas(700250);
const ctx=canvas.getContext('2d')
const background=await Canvas.loadImage('./background.jpg')
ctx.drawImage(背景、0、0、canvas.width、canvas.height)
const attachment=new Discord.MessageAttachment(canvas.toBuffer(),'image.png')
message.channel.send(附件)
}
}
我的文件和文件夹的图像:


问题的答案就在你的错误中。
不存在
/background.jpg
文件。

这是您可以做的:

  • 确保已将图像文件复制到同一目录中
  • 确保它具有正确的扩展名(
    .jpg
    .jpeg
    .png

如果这不能解决您的问题,请尝试将图像托管到其他地方,并将链接放到
Canvas.loadImage()
中。您的图像文件似乎位于同一文件夹中。也许可以尝试使用绝对路径。您可以使用模块的方法将
\uuu dirname
和文件名解析为绝对路径。这样使用它会起作用:

const Discord=require('Discord.js');
const Canvas=require('Canvas');
const path=require('path');
module.exports={
名称:“级别”,
描述:“级别命令”,
执行:异步(消息,客户端)=>{
const canvas=canvas.createCanvas(700250);
const ctx=canvas.getContext('2d');
const background=await Canvas.loadImage(
解析(_dirname,'./background.jpg'),
);
ctx.drawImage(背景、0、0、canvas.width、canvas.height);
const attachment=new Discord.MessageAttachment(
canvas.toBuffer(),
'image.png',
);
message.channel.send(附件);
},
};

首先,您确定在同一文件目录中有一个名为background.jpg的文件吗?您还可以使用try-catch块来处理承诺拒绝。