【发布时间】:2020-06-22 11:06:36
【问题描述】:
我正在尝试从 s3 获取一个 zip 文件并将其存储在本地目录中,然后读取该目录以确保 zip.file 存在。有没有可靠的方法来做到这一点。当我阅读以查看文件是否位于 tmp 目录中时,它不存在。
// MAKE DIRECTORIES FOR ZIPPED AND UNZIPPED FOLDER
const zipDirFolder = await mkdirp(localZippedFolder, { recursive: true });
const unZipDirFolder = await mkdirp(localUnzippedFolder, { recursive: true });
// VERIFY THAT DIRECTORIES ARE CREATED
const zipFolderChecker = fs.statSync(zipDirFolder);
const unZipFolderChecker = fs.statSync(unZipDirFolder);
console.log('SUCCESS: 2 DIRECTORIES CREATED');
// CREATE STREAMS FOR S3 BUCKET OBJECTS
const tempFileName = path.join(zipDirFolder, 'downloaded.zip');
const tempFileDownload = fs.createWriteStream(tempFileName);
// DOWNLOAD ZIP FILE FROM S3 BUCKET TO TEMP FOLDER
const getS3Object = await s3.getObject(params).createReadStream().pipe(tempFileDownload);
console.log('SUCCESS: ZIP FILE DOWNLOADED');
// LIST FILES IN ZIP FOLDER DIRECTORY
await new Promise((resolve, reject) => {
fs.readdir(zipDirFolder, (error, files) => {
error ? reject(error) : resolve(files);
console.log(files)
任何有关如何修复的示例将不胜感激。
【问题讨论】:
标签: javascript node.js asynchronous amazon-s3 lambda