Я не знаю почему, но я не могу удалить файл, используя unlink()
и unlinksynk()
.
Я сохранил файл, используя метод multiparty.Form()
. Он сгенерирует файл со случайным именем и вернет filePath
и originalFileName
. И после этого я переименовал файл с originalFileName
.
Код:
await form.parse(fileData, (err: Error, fields: any, res: any) => {
if (err) {
callback(err, null);
} else {
let file_path = res.file[0].path;
let assignedFilePath = file_path.substr(res.file[0].path.lastIndexOf('\/') + 1);
let originalFilePath = res.file[0].originalFilename;
originalFilePath = path.dirname(assignedFilePath) + '\\' + originalFilePath;
fs.rename(assignedFilePath, originalFilePath, function (err: any) {
if (err)
callback(err, null);
else
callback(err, JSON.stringify({'path': originalFilePath}));
});
}
});
Код для deleteFile ()
deleteTempFiles(tempFolderPath: string) {
return new Promise(function (resolve: any, reject: any) {
fs.readdir(tempFolderPath, (err: any, files: any) => {
if (err) {
reject();
} else {
for (let file of files) {
fs.unlink(tempFolderPath + file, (err: any) => {
if (err) {
reject();
}
});
}
resolve();
}
});
}).catch(function (e) {
Promise.reject(e.message);
})
}
РЕДАКТИРОВАТЬ:
Ошибка при удалении файла, компилятор говорит Error: EBUSY: resource busy or locked, unlink
.
А мне кажется, я нигде не использую файл в программе?
Заранее спасибо.