AWS S3 ZIP文件上传损坏了存档文件

索娜·谢蒂(Sona Shetty)

我正在使用以下代码片段通过文件上传控件上传图像,使用jszip api将其压缩,然后将其存储在AWS S3中。文件上传成功,我可以在AWS控制台中看到demo.zip,但是demo.zip中的文件是损坏,因此无法解压缩。

我尽力调试了级别,但没有得到任何提示。

任何纠正我的代码的帮助将不胜感激。

var multer = require('multer');
var uploadservice = multer({ storage: multer.memoryStorage(), limits: { fileSize: 1000 * 1000 * 12 } }).array("files", 5);
app.post('endpointurl', function (req, res, next) {      
   uploadservice(req, res, function (err) {
       if (err) {           
           console.log("error - " + err)
           res.status(200).end("File upload is failure"); 
       } else { 
           var files = req.files                
            var JSZip = require("jszip");
            var zip = new JSZip();           
            for (i = 0; i < files.length; i++){               
               zip.file('file' + i, files[i].buffer, { binary: true });
            }                
           zip.generateAsync({
               type: "binarystring",
               compression: "DEFLATE",
               mimeType:"application/zip"
           }).then(function (content) {  
               var s3 = new aws.S3();          
               var S3_BUCKET = 'mybucket'
               s3.putObject({
                   ACL: 'private',
                   Bucket: S3_BUCKET,
                   Key: "demo.zip",
                  // serverSideEncryption: 'AES256',
                   Body: content,
                   ContentType: "application/zip"
               }, function (error, response) {
                   if (error) {
                       console.log("error -  " + error)
                       res.status(200).end("File upload failed"); 
                   } else {
                       console.log("success")
                       res.status(200).end("File is uploaded successfully"); 
                   } 
               });
           }) 
        }
    });     
盖比·韦斯(Gaby Weiss)

抱歉,但我无法发表评论,所以:

如果创建zip文件,然后将其打开,然后再将其移至S3,会发生什么情况?可能是zip.generateAsync({type: "binarystring".....的使用导致了损坏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章