hata benim anladığım resimi silerken resim başka yerde kullanılmak isteniyor ve kilitleniyor.
console daki hata :
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at new NodeError (node:internal/errors:399:5)
at ServerResponse.setHeader (node:_http_outgoing:645:11)
at ServerResponse.header (C:\Users\user\Desktop\nodejs\node_modules\express\lib\response.js:794:10)
at ServerResponse.location (C:\Users\user\Desktop\nodejs\node_modules\express\lib\response.js:915:15)
at ServerResponse.redirect (C:\Users\user\Desktop\nodejs\node_modules\express\lib\response.js:953:18)
at C:\Users\user\Desktop\nodejs\routes\admin.js:44:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ERR_HTTP_HEADERS_SENT'
}
[Error: EBUSY: resource busy or locked, unlink 'C:\Users\user\Desktop\nodejs\public\imgs\products\1.jpg'] {
errno: -4082,
code: 'EBUSY',
syscall: 'unlink',
path: 'C:\\Users\\user\\Desktop\\nodejs\\public\\imgs\\products\\1.jpg'
}Hocanın yazdığı kod:
router.post("/blogs/:blogid", imageUpload.upload.single("resim"), async function(req, res) {
const blogid = req.body.blogid;
const baslik = req.body.baslik;
const aciklama = req.body.aciklama;
let resim = req.body.resim;
if(req.file) {
resim = req.file.filename;
fs.unlink('./public/images/' + req.body.resim, err => {
console.log(err);
});
}
const anasayfa = req.body.anasayfa == "on" ? 1 : 0;
const onay = req.body.onay == "on" ? 1 : 0;
const kategoriid = req.body.kategori;
try {
await db.execute("UPDATE blog SET baslik=?, aciklama=?, resim=?, anasayfa=?, onay=?, categoryid=? WHERE blogid=?", [baslik,aciklama, resim,anasayfa,onay,kategoriid, blogid]);
res.redirect("/admin/blogs?action=edit&blogid=" + blogid);
}
catch(err) {
console.log(err);
}
});benim yazdığım kod:
router.post('/products/:id', imgUpload.upload.single('productImg'), async (req, res) => {
const id = req.body.id;
let productImg = req.body.productImg;
if (req.file) {
productImg = req.file.filename;
fs.unlink('./public/imgs/products/' + req.body.productImg, err => {
console.log(err);
});
}
const name = req.body.productName;
const price = req.body.productPrice;
const desc = req.body.productDescription;
const isHome = req.body.isHome == "on" ? 1 : 0;
const isActive = req.body.isActive == "on" ? 1 : 0;
try {
await db.execute("UPDATE `nodedb`.`products` SET `name`=?,`price`=?,`img`=?,`desc`=?,`isHome`=?,`isActive`=? WHERE (`id`=?);",
[name, price, productImg, desc, isHome, isActive, id]);
res.redirect('/admin/products?action=edit')
} catch (err) {
console.log(err)
}
})bu bahtı kara jr. yazılımcıya yardım edebilecek varmı ?