问题描述
我想删除保存在我的项目应用程序中的项目目录中的图像。为此,我使用了fs.unlink()
。
Photo.findByIdAndDelete(req.body.photoId)
.exec((error,photo) => {
// save image path to variable
const fullImagePath = photo.photo.photoUrl;
// regex that match any url
const urlRegex = /(http|https):\/*[a-z]*(.|:)[a-z0-9]*(.(com|co.uk|en|ro))?/g;
// the url trimmed from image path
const trimmedImagePath = fullImagePath.replace(urlRegex,'');
// delete the image from the specified location on disk
fs.unlink(path.join(__dirname,trimmedImagePath),error => {
if (error) throw error;
console.log('File deleted');
});
});
});
[start:server] [Error: ENOENT: no such file or directory,unlink 'F:\dev\MY_PROJECT\server\controllers\photos\uploads\1605211105520_bg.jpg'] {
[start:server] errno: -4058,[start:server] code: 'ENOENT',[start:server] syscall: 'unlink',[start:server] path: 'F:\\dev\\MY_PROJECT\\server\\controllers\\photos\\uploads\\1605211105520_bg.jpg'
[start:server] }
要保存图像的文件夹位于服务器文件夹中的/ uploads中,用于删除图像的控制器位于controllers / photos文件夹中
MY_PROJECT
client
server
controllers
photos
**delete-photo.js**
models
routes
**uploads**
因此,从错误中可以清楚地看出,在unlink方法中图像位置不正确。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)