Question
I need to zip a set of files from a folder in bucket and download it for the User
I am uploading files in various folders in the bucket “managly”.
I need to implement a functionality to zip a set of files (as selected by the User) from a folder in bucket and download the zip file for the User.
I tried using “aws-s3-zipper” in Node.js to filter the files from the bucket’s folder and then zip it and download.
I get the following error - InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records.
Kindly guide me and provide me the code in NodeJS to implement the same.
Code :-
var S3Zipper = require ('aws-s3-zipper');
var config ={
accessKeyId: ACCESS_KEY_ID,
secretAccessKey: SECRET_ACCESS_KEY,
bucket: BUCKET
};
var zipper = new S3Zipper(config);
zipper.filterOutFiles = files; //files is the set of files selected by User
zipper.streamZipDataTo({
pipe: res,
folderName: 'attachments',
startKey: 'null', // could keep null
recursive: true
}
, function (err, result) {
if (err)
console.log(err);
else {
// console.log(result);
var lastFile = result.zippedFiles[result.zippedFiles.length - 1];
console.log('lastFile : ', lastFile)
if (lastFile)
console.log('last key ', lastFile.Key); // next time start from here
}
});
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×
what is the res in pipe
can you share the code in details?
thanks