【问题标题】:Node js, express delete file at path节点js,在路径中表达删除文件
【发布时间】:2014-06-12 17:02:48
【问题描述】:

我有一个照片模特:

var photoSchema = mongoose.Schema({
    name: { type: String},
    path: { type: String},
    vehicle: { type: ObjectId, ref: 'Vehicle' }
  });

一张照片与路线一起被删除:

app.delete('/api/photos/:id/delete', photos.delete (app.get('photos')));

我可以使用以下命令从 mongo 中删除照片:

exports.deletePhoto = function (dir) {
  function (req, res, next) {
    var id = req.params.id;
    Photos.delete (id, function (err) {
      if (err) return next (err);
      return res.send ({
        status: "200",
        responseType: "string",
        response: "success"
      });
    });
  };
};

照片保存在磁盘上

app.set('photos', __dirname + '/public/photos');

如何在 deletePhoto 功能中从磁盘中删除照片?

【问题讨论】:

    标签: node.js express mongoose npm


    【解决方案1】:

    你可以这样做:

    路由器

    app.delete('/api/photos/:id', photos.deletePhoto);
    

    它遵循 REST api 规范

    出口

    exports.deletePhoto = function (req, res) {
      Photos.remove({_id: req.params.id}, function(err, photo) {
        if(err) { 
           return res.send({status: "200", response: "fail"});
        }
        fs.unlink(photo.path, function() {
          res.send ({
            status: "200",
            responseType: "string",
            response: "success"
          });     
        });
     }); 
    };
    

    【讨论】:

      【解决方案2】:

      您可以使用fs.unlink() 删除节点中的文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-09
        • 2021-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多