我是AWS的新手,所以请耐心等待我:(
我目前正在制作一个具有上传照片功能的Web应用程序。我想将这些照片保存在S3存储桶中,并在我的数据库中保存对它们的引用。我目前正在遵循本指南:http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html
但是,我已经完成了指南中所述的一切(或者至少我希望),但是当我运行应用程序并运行createAlbum()
方法时,我得到了错误:
XMLHttpRequest无法加载https://my-bucket-name.s3-us-west-2.amazonaws.com/myalbumname/.对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:3000”。
我确保Bucket权限中的所有用户都允许权限,我按照文档的指示更新了CORS配置,并更新了角色策略。
这是我在凭证方面的代码:
显然,var的值不是真正的值
var bucketRegion = '美国-西方-2 ';
var IdtyPoolId='my-Idation-pool-id';//这里也是
AWS.config.update({
区域:bucketRegion,
凭证:新的 AWS。CognitoIdentityCredentials({
标识池
})
});
var s3=新AWS。S3({apiVersion:'2006-03-01',参数:{Bucket:albumBucketName});
我一直试图找到解决办法,但没有成功。有人知道我需要做什么来解决这个问题吗?非常感谢任何帮助!谢谢你。
S3铲斗上的CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
AllowedOrigin中的*可以用于测试目的。
您的桶将需要临时凭据,您可以做的是:
// Set the region where your identity pool exists
AWS.config.region = 'us-east-1';
// Configure the credentials provider to use an identity pool for temp
credentials
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'IDENTITY_POOL_ID',
});
// Make the call to obtain credentials
AWS.config.credentials.get(function(){
// Credentials will be available when this function is called.
var accessKeyId = AWS.config.credentials.accessKeyId;
var secretAccessKey = AWS.config.credentials.secretAccessKey;
var sessionToken = AWS.config.credentials.sessionToken;
var bucketName = 'bucket_name';
var keyName = "key_name";
var params = {Bucket: bucketName, Key: keyName, Body: 'Hello World!'};
s3.putObject(params, function (err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to " + bucketName + "/" +
keyName);
});
});
问题内容: 我正在尝试从我的应用程序向Tomcat服务器发送Ajax请求,但出现此错误(我的Web应用程序正在Chrome上运行): 对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow- Origin”标头。因此,不允许访问原始“空”。响应的HTTP状态码为403。 我尝试使用 但这没用。 我的Ajax代码: 问题答案: 基本上,要发出跨域AJA
我试图从应用程序向Tomcat服务器发送一个Ajax请求,但我得到了这个错误(我的web应用程序运行在Chrome上): 对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此不允许访问源“null”。响应的HTTP状态代码为403。 我试过使用 但没有奏效。 我的Ajax代码:
我正在尝试将Laravel社交名流集成到我的项目中,我遇到了以下错误 在'访问XMLHttpRequesthttps://github.com/login/oauth/authorize?client_id=6b87b76a942a90caec24 问题是当我按使用 github 按钮登录时,出现上述错误 错误图片 科尔斯.php文件 am使用水果蛋糕/laravel-cors包 我哪里做错了?
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访
我在前端使用angular js,在后端使用java hibernate。我的网站几天前运行得很好,但最近我对表结构做了一些更改。在这些更改之后,当我尝试集成angular js时,我遇到了以下错误消息。 XMLHttpRequest无法加载本地主机:8080/SignInMainServlet。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access control Allow O
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“h