Node JS veya Express JS ile resimler üzerinde işlemler yapabiliriz. Bazı durumda kayıt ettiğimiz resimleri silmek isteyebiliriz. Mesela bir ürün resmini silerek farklı bir resim yüklemek gibi bir işlem yapmamız gerekir.
Node JS İle Resim Silme İşlemi Nasıl Yapılır?
Resimler bir dosyadır ve bu nedenle bir resimi silmek istediğimizde bir dosyayı siler gibi davranmamız gerekiyor. Bu nedenle resim silmek yerine, resim dosyasını silmek daha doğru bir söylem olacaktır. Node JS fs modülü ile dosya işlemlerini yapıyoruz. Bu modül içerisindeki metodları kullanarak resim dosyaları ile de işlem yapabiliriz.
NodeJS fs.unlink Metodu İle Resim Silme
Bir dosyayı silmek için unlink metodunu kullanabiliriz. unlink dosya yolu ile birlikte dosya adını da parametre olarak alır ve işlemi yaptıktan sonra verilen callback fonksiyonunu çağırır.
Kullanım şekli aşağıdaki gibidir.
const fs = require('fs');
fs.unlink(klasorYolu + dosyaAdi, (err) => {
if (err) {
throw err;
}
console.log("Dosya başarı ile silindi..");
});Mesela dosyanın çalıştığı klasör baz alınarak bir resim dosyası silinecekse __dirname kullanılarak içerisinde bulunan klasörü yolu alınabilir. Şimdi bir örnek yapalım.
const fs = require("fs");
const dosya = 'uyeResimi.jpg';
const dosyaYolu = __dirname;
// Resimi silelim
fs.unlink(dosyaYolu + dosya, (err) => {
if(err) throw err;
else console.log("Dosya başarı ile silindi.");
});unlink metodu eğer bir hata oluştursa bunu callback fonksiyonuna geçirir. Bu mesaj dikkate alınarak işlem yapılabilir.
Node JS fs.unlinkSync Metodu İle Dosya Silme
Eğer yapacağımız işlemin senkron olmasını istersek bu durumda, fs.unlinkSync metodunu kullanabiliriz. Bu metod silinecek dosya yol bilgisini alır. Örnek bir kullanım şu şekilde olabilir.
const fs = require("fs");
const dosya = 'uyeResimi.jpg';
const dosyaYolu = __dirname;
try {
fs.unlinkSync(dosyaYolu + dosya);
console.log("Dosya başarı ile silindi");
} catch (err) {
console.log("Bir hata oluştu : " + err);
}fs.unlinkSync metodu sunucu uygulamalarında tavsiye edilmiyor.
Sonuç
Eğer bir resim dosyasını silmek istiyorsanız Node JS / Express JS uygulamalarında fs.unlink metodunu kullanabilirsiniz.
Node JS hakkında sormak istediğiniz konuları yorumlardan bize sorabilirsiniz.
