从Node和Express后端将file upload到S3

我正在关注如何将图像file upload到S3存储桶的教程 。 但是,在指定的S3存储桶中不会显示文件。 如教程中所述,我发送一个“putobject”请求来获取“签名url”作为响应。

s3bucket.getSignedUrl('putObject', s3_params, function(err, data){ // Error... else{ var return_data = { requestUrl: data }; res.json( generalResponse( return_data )); } 

然后,我将return_datavariables传递给XMLHttpRequest的一个实例来发出put请求。

 xhr.open("PUT", signed_request); 

Express和S3中的CORSconfiguration如下所示:

performance:

 app.use(function(req, res, next){ res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); next(); }); 

S3桶:

 <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> 

没有语法错误或服务器错误出现在nodemanshell或控制台。 我在想,必须有一些configuration问题,阻止文件从客户端上传到S3。 我真的很感谢你在这个问题上的帮助。