我不知道为什么,但我无法使用unlink()
and删除文件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
。
而且我认为我没有在程序中的任何地方使用该文件?
提前致谢 。