AWS S3 JavaScript SDK-网络错误:网络故障
我试图使用AWS在其浏览器网页示例中提供的示例,我不断收到NetworkingError:Network Failure error。以下是我正在使用的:AWS S3 JavaScript SDK-网络错误:网络故障,javascript,amazon-web-services,amazon-s3,Javascript,Amazon Web Services,Amazon S3,我试图使用AWS在其浏览器网页示例中提供的示例,我不断收到NetworkingError:Network Failure error。以下是我正在使用的: <html> <head> <script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.0-rc11.min.js"></script> <script type="text/javascript"> // See the Conf
<html>
<head>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.0-rc11.min.js"></script>
<script type="text/javascript">
// See the Configuring section to configure credentials in the SDK
AWS.config.update({accessKeyId: '####', secretAccessKey: '####', region: 'us-east-1'});
// Configure your region
// AWS.config.region = '';
</script>
</head>
<body>
<input type="file" id="file-chooser" />
<button id="upload-button">Upload to S3</button>
<div id="results"></div>
<script type="text/javascript">
var bucket = new AWS.S3({params: {Bucket: 'BUCKETNAMEGOESHERE'}});
var fileChooser = document.getElementById('file-chooser');
var button = document.getElementById('upload-button');
var results = document.getElementById('results');
button.addEventListener('click', function() {
var file = fileChooser.files[0];
if (file) {
results.innerHTML = '';
var params = {Key: file.name, ContentType: file.type, Body: file};
bucket.putObject(params, function (err, data) {
results.innerHTML = err ? err : 'UPLOADED.';
});
} else {
results.innerHTML = 'Nothing to upload.';
}
}, false);
</script>
<div id="status"></div>
<ul id="objects"></ul>
<script type="text/javascript">
var bucket = new AWS.S3({params: {Bucket: 'BUCKETNAMEGOESHERE'}});
bucket.listObjects(function (err, data) {
if (err) {
document.getElementById('status').innerHTML =
'Could not load objects from S3';
} else {
document.getElementById('status').innerHTML =
'Could not load objects from S3';
} else {
document.getElementById('status').innerHTML =
'Loaded ' + data.Contents.length + ' items from S3';
for (var i = 0; i < data.Contents.length; i++) {
document.getElementById('objects').innerHTML +=
'<li>' + data.Contents[i].Key + '</li>';
}
}
});
</script>
</body>
</html>
我的水桶位于美国标准区域,我很难确定它使用的是US-west-2还是US-east-1。当我转到bucket的控制台时,URL是https://console.aws.amazon.com/s3/home?region=us-west-2然而有人在这里提到美国标准是US-east-1。根据,美国标准使用US-east-1。这确实太晚了,但如果其他人在这一点上遇到问题,您需要确保console中的CORS文件具有足够的权限。发生此错误是因为您没有设置CORS配置 在打开AmazonS3控制台 从bucket列表中选择您正在使用的bucket的名称 接下来,选择权限选项卡 然后在一个名为“跨源资源共享CORS”的编辑器中,您需要确保S3存储桶具有以下CORS配置:
美国标准是美国东部-1@VMTrooper你能在这里分享你的CRO吗。谢谢
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag"
]
}
]