Ошибка EBUSY при удалении файла с помощью unlink - PullRequest
0 голосов
/ 25 августа 2018

У меня есть маршрут удаления, который удаляет файл изображения.Ниже приведен код:

router.delete('/:id', (req, res) => {
    let pathForThumb = '';
    let pathForImage = '';

    Image.findOne({ _id: req.params.id })
        .then(getImage => {
            pathForThumb = getImage.thumbPath;
            pathForImage = getImage.imagePath;
            getImage.remove();

        })
        .then(removeThumb => {
            fs.unlink(pathForThumb, (err) => {
                if (err) {
                    req.flash('error_msg', 'There was an error deleting the thumbnail');
                    res.redirect('/user/userdashboard');
                }
            });
        })
        .then(removeMainImage => {
            fs.unlink(pathForImage, (err) => {
                if (err) {
                    console.log(err);
                    req.flash('error_msg', 'There was an error deleting the main image');
                    res.redirect('/user/userdashboard');
                } else {
                    req.flash('success_msg', 'Image removed');
                    res.redirect('/user/userdashboard');
                }
            });

        })
        .catch(err => {
            console.log(err);
        });
});

. Как вы видите, когда я загружаю файл, я сохраняю его путь, а также создаю миниатюру в папке / uploads / thumbs / и также сохраняю путь ногтя большого пальца.,В приведенном выше коде я сначала получаю изображение с помощью findOne, сохраняю пути обоих изображений в переменных, а затем вызываю fs.unlink в обещании.Происходит следующее: мой эскиз удаляется, но я получаю следующую ошибку в условии removeMainImage then:

{ Error: EBUSY: resource busy or locked, unlink 'C:\Users\Amin Baig\Desktop\Teaching\galleryprj\public\uploads\XC6kPqWf9_dphaBmUG__I7SN7PAEl_1531823330941_CEI21.jpg'
  errno: -4082,
  code: 'EBUSY',
  syscall: 'unlink',
  path: 'C:\\Users\\Amin Baig\\Desktop\\Teaching\\galleryprj\\public\\uploads\\XC6kPqWf9_dphaBmUG__I7SN7PAEl_1531823330941_CEI21.jpg' }

Я использую windows 10 для своей среды разработки dev.Пытались найти решение для этого, пожалуйста, помогите.

...