Tag: pre signed url

nodejs – 使用fs.createReadStream,requestjs,streaming和AWS S3 presigned url上传会引发错误

我的环境:Windows 8.1,NodeJS 0.10.0请求2.30.0 这是我基于Amazon SDK的示例和requestjs的文档尝试的 var params = {Bucket:'myprivateuniquebucket' ,Key:'mykey' ,Expires: 60}; var url = s3.getSignedUrl('putObject', params); fs.createReadStream('pic.png').pipe(request.put(url)); 这是我得到的错误 events.js:72 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at errnoException (net.js:863:11) at TCP.onread (net.js:524:19) 然而,而不是使用fs.createReadStream当我使用下面的fs.readFile一切工作得很好 fs.readFile('pic.png', function (err, data) { request( { method: 'PUT' , uri: url , body: data } , function […]

预签名的S3 URL签名不匹配

标题说明了一切。 这是我的代码; 我使用节点强大的文件。 form.on("end",function(field, file){ params.Body = fs.createReadStream(params.filePath) delete params.filePath; S3.getSignedUrl('putObject',params, function(err, url) { if(err){console.log(err);} console.log(url); }); }) 成功上传后,urlvariables返回s3 url,如下所示; https://bucket-name.s3.amazonaws.com/746575308_8c081369df.jpg?AWSAccessKeyId=[key]&Expires=[date]&Signature=[signature]&x-amz-acl=public-read 但仍然得到SignatureDoesNotMatch错误。 在描述中说 我们计算的请求签名与您提供的签名不符。 检查您的密钥和签名方法。 这是我的参数 params = { Bucket:"bucketname", Key: file.name, ACL: 'public-read' } 我错过了什么?