Javascript 如何使用fs.unlink删除本地文件?

Javascript 如何使用fs.unlink删除本地文件?,javascript,node.js,fs,Javascript,Node.js,Fs,代码: fs.unlink("/public/images/uploads/"+req.file.filename, (err) => { if (err) { console.log("failed to delete local image:"+err); } else { console.log('successfully deleted local image');

代码:

fs.unlink("/public/images/uploads/"+req.file.filename, (err) => {
        if (err) {
            console.log("failed to delete local image:"+err);
        } else {
            console.log('successfully deleted local image');                                
        }
});
failed to delete local image:Error: ENOENT: no such file or directory, unlink '/public/images/uploads/ed6d810405e42d0dfd03d7668e356db3'

控制台/终端中的错误消息:

fs.unlink("/public/images/uploads/"+req.file.filename, (err) => {
        if (err) {
            console.log("failed to delete local image:"+err);
        } else {
            console.log('successfully deleted local image');                                
        }
});
failed to delete local image:Error: ENOENT: no such file or directory, unlink '/public/images/uploads/ed6d810405e42d0dfd03d7668e356db3'

形势

我一定指明了错误的路径。我不明白为什么会出错,“
public
”文件夹与“
app.js
”文件处于同一级别。“
upload.js
”位于名为“
routes
”的文件夹中,该文件夹与“
app.js
”处于同一级别

我已经在我的app.js中为我的公用文件夹指定了一个路由“/public”:

//Static Folder
app.use("/public",express.static(path.join(__dirname, "/public")));

问题:

fs.unlink("/public/images/uploads/"+req.file.filename, (err) => {
        if (err) {
            console.log("failed to delete local image:"+err);
        } else {
            console.log('successfully deleted local image');                                
        }
});
failed to delete local image:Error: ENOENT: no such file or directory, unlink '/public/images/uploads/ed6d810405e42d0dfd03d7668e356db3'

我做错了什么?

我打赌您想删除项目目录中的文件。试试这个(在“/”之前的点):


你错过了一段路。您显示的内容还不够,但可以通过以下方式进行修复:

例如,我获得的文件路径如下所示:

 'C:\001-Training\MEANCourse\http:\localhost:3000\images\1-1571080310351.jpeg'
但实际上这条路是

 'C:\001-Training\MEANCourse\http:\localhost:3000\backend\images\1-1571080310351.jpeg'
在这里,“MEANCourse”是我的项目名,“backend”是顶级文件夹名“src”,但是当路径自动生成时,顶级文件夹被忽略

所以我在路径中添加了“后端”,它就开始工作了


你必须找出你的案子里少了什么部分

您不需要使用
c:\
,因为您可能不在windows环境中。此外,您可能最终会在云中执行此操作。相反,请使用
\uu dirname
使用相对目录。例如,如果使用backtick,则执行
${\uu dirname}
然后添加目录的其余部分,相对于代码所在的javascript文件。

此文件是否确实存在?在错误描述中,它没有扩展名。这不完全是个问题,但有一点uncommon@RômuloM.Farias是的,这是一个二进制保存的图像。