繁体   English   中英

无法在亚马逊 s3 上上传文件

[英]Unable to upload file on amazon s3

我已授予所有 s3 访问 lambda 以在 s3 上上传文件的权限。 没有错误,也没有来自 aws 的响应。所有权限都已授予。

    var params4 = {
        Bucket: "bcket name",
        Key         : "tt.pdf",
        Body        : buf,
        ContentType : 'application/pdf',
        ACL       : 'public-read',
        ContentEncoding: 'base64',
    }
                                        
    var data1= s3.putObject(params4, function(err, data){
     console.log("successful");
     if (err) { 
      console.log("putobbject="+err);   
     }else{
      console.log(data);
     }
    });

我猜你正在使用'aws-sdk'节点package,对吧?

这是我正在使用的代码。 应自动检测文件类型。 到目前为止,我将它用于 CSV 和 JSON 但也适用于 PDF 。

 const fs = require('fs'); const AWS = require('aws-sdk'); const uploadFile = (localFile, s3File, bucket) => { return new Promise((resolve, reject) => { const { AWS_ACCESS_KEY, AWS_SECRET_KEY } = process.env; const s3 = new AWS.S3({ accessKeyId: AWS_ACCESS_KEY, secretAccessKey: AWS_SECRET_KEY }); const loadedFile = fs.readFileSync(localFile); const params = { Bucket: bucket, Key: s3File, Body: loadedFile }; return s3.upload(params, (error) => { if (error) { return reject(error); } return resolve(true); }); }); }; module.exports = uploadFile;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM