[英]Rename a file in AWS Lambda using NodeJS
我正在嘗試重命名當前存儲在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);
});
因此,不確定在這里按哪種方式前進。 誰能提供正確的代碼/程序幫助?
檢查官方文檔 。
舊路徑應該是第一個,新路徑是第二個參數。
.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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.