我有一个照片模型:
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功能中删除磁盘中的照片?
答案 0 :(得分:7)
您可以执行以下操作:
<强>路由器强>
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"
});
});
});
};
答案 1 :(得分:4)
您可以使用fs.unlink()删除节点中的文件。