Node.js删除不起作用的照片

时间:2018-04-23 04:11:01

标签: node.js

我尝试了几种方法来删除我的照片,特别是使用fs.unlink,但它似乎根本不起作用,您可以从下面的图片中看到我将照片保存在assets->img->products

enter image description here

所以我的数据库看起来像这样 enter image description here

我的代码看起来像这样

router.get("/admin/products/:id/delete", (req, res) => {
    Product.findByIdAndRemove(req.params.id, (err, photo) => {
    if (err) {
    req.flash("error", "deleting photo failed");
       return res.render("/admin/products/");
    }
    fs.unlink(photo.image1, function() {
      console.log(photo.image1);
      return res.redirect("/admin/products");
    });
  });
});

我的代码没有从我的文件中删除我的照片有什么问题?

1 个答案:

答案 0 :(得分:2)

由于您将相对路径作为第一个参数传递,因此无法删除照片。

  

photo.image1 = assets / img / products / image1.jpg

尝试传递绝对路径(从机器的根目录)。

fs.unlink("absolute-path-to-assetsParentFolder" + photo.image1, function() {
  console.log(photo.image1);
  return res.redirect("/admin/products");
});