如何通过表单数据将文件上传到amzon s3?

时间:2017-07-11 15:45:39

标签: node.js amazon-web-services amazon-s3 multer multer-s3

我正在尝试将我的文件上传到我的Amazon S3存储桶。在我的研究中,我得到了这个链接,工作正常,文件上传:

https://github.com/zishon89us/node-cheat/tree/master/aws/express_multer_s3

但是我需要将这个连接到我的Web服务,请求将包含Json表单数据,所以我试过这个:

aws.config.update({
    secretAccessKey: 'mysecretkey',
    accessKeyId: 'my access key',

     });
    s3 = new aws.S3();

           /**multer function*/

           var transfer = multerS3({
              s3: s3,
              bucket: 'mu_bucket_name',

              key: function (req, file, cb) {
                  console.log("cb");

                  var newFileName = Date.now() + "-" + file.originalname;
                  var fullPath = 'path/'+ newFileName;

                  cb(null, fullPath); //use Date.now() for unique file keys
                  console.log(fullPath);
                  console.log("I am getting till this console")
              }
           });


              var upload = multer({storage:transfer}).any();

               upload(req,res, function (err,res) {
                  console.log("req");
                console.log(err);
                console.log(res);
               })

以上是我的代码,我的回复没有:

 upload(req,res, function (err,res) {
                  console.log("req");
                console.log(err);
                console.log(res);
               })

但我得到了:

console.log(fullPath);

为:

'path/1499786601509-S.mp4'

有任何帮助吗? 我没有得到任何回复,文件没有上传。

1 个答案:

答案 0 :(得分:0)

如果没有确保所有配置都与aws配置一致,上面的代码应该有效,如果你的配置正确,那么上面的代码也不起作用,然后尝试重新安装aws npm模块。

相关问题