【发布时间】:2021-07-02 15:46:44
【问题描述】:
我有一个应用程序,用户可以上传个人资料图片,我想要做的是删除之前存储的图片,然后上传新的,但我拥有的代码只是删除了让我认为是先上传。
const UploadProfileImage = multer.diskStorage({
destination(req, file, callback) {
callback(null, "./src/UserImages");
},
filename(req, file, callback) {
callback(null, `${file.originalname}`);
},
});
const upload = multer({
fileFilter: (req, file, callback) => {
let files = fs.readdirSync(UserImagesPath);
console.log(files.includes(req.user.user_img));
if (files.includes(req.user.user_img)) {
fs.unlinkSync(
path.join(__dirname, "../UserImages") + "\\" + req.user.user_img
);
console.log("Done");
}
},
storage: UploadProfileImage,
});
为什么这段代码不起作用?
我还有一个问题!
当我在没有删除图像的代码的情况下上传图像时,实际图片会发生变化,但在前端仍然显示一个据说不存在的图像,我认为它仍然可以显示该图像,因为它在缓存中。 如何从缓存中删除图像?
【问题讨论】:
标签: node.js react-native expo multer