错误:ENOENT:没有这样的文件或目录,取消链接

时间:2018-04-22 16:15:40

标签: node.js fs

如您所见,路径中有一个文件。但是fs说没有这样的文件或目录。我无法理解为什么?

在另一个文件中,我可以使用相同的代码删除。

我的boat.js文件:

boat.findById(req.params.id,function(err, foundBoat) {
    if(err){
        console.log(err);
    }else{
        foundBoat.boatsFoto.forEach(function(path){
            console.log(typeof(path));
            fs.unlink("../public"+path,function(err){
                if(err) throw err;

                console.log('File deleted!');
            });
        });
    } 
});

这是我的错误:

Error: ENOENT: no such file or directory, unlink '../public/uploads/akingokay/BoatsFoto/1524411110335kiralik-tekne.jpg'
at Error (native)

And you can see my file system

6 个答案:

答案 0 :(得分:3)

你可以试试这个:

fs.unlink("public"+path,function(err){
            if(err) throw err;

            console.log('File deleted!');
        });

答案 1 :(得分:1)

您应首先通过CLI安装path模块:

npm install path --save

并使用它:

fs.unlink(path.join("public/" + path, photo.id + ".jpg"), function(response) {
  // handle the callback
});

答案 2 :(得分:0)

检查您要添加到" / public"的路径变量。有一个" /"在开始。如果没有/分离它,它会将路径视为一个。

答案 3 :(得分:0)

安装并导入path模块。这有助于你https://nodejs.org/api/path.html

而不是"../public"+path使用path.join("../", "public", path);

答案 4 :(得分:0)

这取决于您在哪里托管服务器。如果它在本地计算机上,则可能需要指定要删除或操作的文件的完整路径。如果它在运行中的Web服务器上,则需要指定其完整路径。

在“ 本地计算机”上可能看起来像这样:

fs.unlink('/home/user/project/someothername/'+filename, err => {
// handler
});

答案 5 :(得分:0)

假设您在 let //be sure to change table name in next line to your actual table name Source = Excel.CurrentWorkbook(){[Name="wrkTbl"]}[Content], //set data types #"Changed Type" = Table.TransformColumnTypes(Source,{ {"Area", type text}, {"Hours_worked", Int64.Type}, {"Overtime", Int64.Type}}), //Add the percent overtime column #"Added Custom" = Table.AddColumn(#"Changed Type", "Overtime/Hours_worked", each [Overtime]/[Hours_worked], Percentage.Type), //Use Table.Group to compute total/averages for the last row //Be sure to use the exact same names as used in the original table #"Grouped Rows" = Table.Group(#"Added Custom", {}, { {"Area", each "Totals",type text}, {"Hours_worked", each List.Sum([Hours_worked]), Int64.Type}, {"Overtime", each List.Sum([Overtime]), Int64.Type}, {"Overtime/Hours_worked", each List.Sum([Overtime])/List.Sum([Hours_worked]), Percentage.Type}, {"AverageA Overtime/Hours_worked", each List.Average([#"Overtime/Hours_worked"]), Percentage.Type} }), //Append the two tables to add the Totals row append= Table.Combine({ #"Added Custom", #"Grouped Rows"}) in append 文件中,并将删除文件的相对路径提供给 app.js。它会起作用!