2016-08-24 127 views
3

试图上传多个图像文件创建一个多上传AWSloopback-component-storage环回AWS文件上传:无法使用S3上

这里是方法:

Game.add = function(ctx,options,cb) 
     { 
       var status = ctx.req.query.status, 
       defaultLangCode = ctx.req.query.defaultLangCode, 
       nameEn = ctx.req.query.nameEn; 

      var rec = new Object(); 
      rec.parentHouseId = houseId; 
      rec.status = status; 
      rec.defaultLangCode = defaultLangCode; 
      rec.nameEn = nameEn; 

      if(!options) options = {forceIframeTransport : true}; 
      ctx.req.params.container = 'common'; 
      Game.app.models.container.upload(ctx.req,ctx.result,options,function (err,fileObj) { 
       if(err) { 
        cb(err); 
       } else { 
        var fileInfo = fileObj.files.file[0]; 
        console.log(fileInfo); 
       } 
      }); 
     }; 

Game.remoteMethod(
     'add', 
     { 
      http:{path: '/add', verb: 'post', status: 200, errorStatus: 400}, 
      accepts: [ 
       { arg: 'ctx', type: 'object', http: { source:'context' } }, 
       { arg: 'options', type: 'object', http:{ source: 'query'} } 
      ], 
      returns: { 
       arg: 'fileObject', type: 'object', root: true 
      } 
     } 
    ); 

我想上传两个图像文件。发布数据/图像产生该错误两次:

未能创建上S3多部分上传:{“消息”:“拒绝访问 ”,“堆”:“存取遭拒:访问被拒绝\ n在 请求。 extractError (/vagrant/node_modules/aws-sdk/lib/services/s3.js:538:35)\n Request.callListeners (/vagrant/node_modules/aws-sdk/lib/sequential_executor.js:105: 20)\ n
在Request.emit (/vagrant/node_modules/aws-sdk/lib/sequential_executor.js:77:10)\n
在Request.emit (/流浪/ node_modules/AWS-SDK/LIB/request.j S:668:14)\ n在 Request.transition (在 AcceptorStateMachine.runTo (/流浪/ node_modules/aws- /vagrant/node_modules/aws-sdk/lib/request.js:22:10)\n sdk/lib/state_machine.js:14:12)\ n在 /vagrant/node_modules/aws-sdk/lib/state_machine.js:26:10\n在 请求。 (/vagrant/node_modules/aws-sdk/lib/request.js:38:9)\n在 请求。 (/vagrant/node_modules/aws-sdk/lib/request.js:670:12)\n Request.callListeners (/vagrant/node_modules/aws-sdk/lib/sequential_executor.js:115:18)“ “代码”: “存取遭拒”, “区”:NULL, “时间”: “2016-08-24T19:43:28.415Z”, “的requestId”: “2802978376D53185”, “extendedRequestId”: “LhRlXP6H2EQo8M0ECUlL8js4W9CP99h5fvsSHjVSs3mhB9OupvWpz7UdB1HhN0Ntxf6sFLYoHdk =”,”的StatusCode “:403,” 重试 “:假的,” retryDelay“:44.73750370088965}

第二个是的,当然不同

我尝试使用空options对象没有运气

欢迎任何形式的建议。提前致谢。

尝试使用不同的键/键标识,结果相同。我怎样才能得到上传的文件的网址?当然,我可以成功上传图像后:p

+0

您确定您的AWS密钥正确吗?你可以使用邮递员等其他客户上传吗? –

+0

是的,密钥是正确的,如果我输入了错误的密钥--->“我们计算的请求签名与您提供的签名不匹配,请检查您的密钥和签名方法。是错误。 –

回答

0

尝试启用用户权限s3桶(权限)策略。 您是否将角色分配给您正在运行代码的实例? (如果使用EC2作为你的工作站)

这应该是一个评论。但是,不幸的是,我无权发表评论。