我正在尝试重命名当前存储在AWS Lambda / tmp /目录中的文件。
我已经尝试了下面的代码,但是它指出找不到文件。即使将tmp列为路径
//Rename file
fs.renameSync('/tmp/' + newFilename, '/tmp/' + oldFilename);
console.log('File renamed from ' + oldFilename + ' to ' + newFilename);
我以异步方式运行main函数,而其他fs函数看起来像
const unlink2 = util.promisify(fs.unlink);
await unlink2('/tmp/' + newFilename)
.then(() => {
console.log('File has been deleted from /tmp/');
})
.catch((err) => {
console.log('Error', err);
});
所以不确定在这里按哪种方式前进。谁能提供正确的代码/程序帮助?
答案 0 :(得分:0)
旧路径应该是第一个,新路径是第二个参数。
答案 1 :(得分:0)
.then().catch()
不带await
一起使用,因此可以是:
unlink2(...).then(...).catch(...)
或
try {
await unlink2(...)
} catch (err) {
console.error(err)
}
doNextOperation()
在示例代码中,您编写了重命名(newPath,oldPath),这应该是相反的,这可能就是为什么找不到文件的原因:
fs.renameSync(oldPath, newPath)
https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath