amazon web services - AWS S3 JavaScript SDK - NetworkingErro
amazon web services - AWS S3 JavaScript SDK - NetworkingError: Network Failure
我试图在浏览器页面中使用AWS提供的示例,但是我一直收到NetworkingError: Network Failure
错误。下面是我使用的:
<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
。当我去到我的桶的控制台,URL是https://console.aws.amazon.com/s3/home?region=us-west-2
,但有人在这里提到,美国标准是us-east-1
。
由于没有设置CORS配置而出现此错误。
-
打开Amazon S3控制台https://console.aws.amazon.com/s3/.
-
从bucket list中选择您要使用的bucket的名称。
-
下一步,选择"Permission"选项卡。
-
然后在标题为"跨域资源共享(CORS)"的编辑器中,您需要确保S3桶具有以下CORS配置:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"HEAD",
"GET",
"PUT",
"POST",
"DELETE"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag"
]
}
]
在撰写此回答时,根据亚马逊网络服务通用参考,美国标准使用us-east-1
。
这真的很晚了,但如果有人绊倒了这个,你需要确保你的CORS文件在控制台有足够的权限。
相关文章:
- 包括用于facebook评论框的JavaScript SDK
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- FB.login访问令牌facebook javascript SDK
- Loopback AngularJS JavaScript SDK - Gruntfile plugin
- 如果设置了cookie,则Facebook登录Javascript SDK自动登录
- 在SoundCloud中,使用JavaScript SDK流式传输曲目是否会增加该曲目的playback_count
- 如何使用Parse.com JavaScript SDK上传图像
- javascript sdk正在打开多个登录对话框
- chrome中的Facebook JavaScript SDK Connect问题
- 如何在aws S3 javascript SDK中配置interval和max_attempts
- Facebook Javascript SDK:发布到提要时验证访问令牌时出错
- 通过Javascript SDK登录Facebook可以在移动设备和本地主机上使用,但不能在台式机上使用
- 是否可以避免使用SoundManager2和SoundCloud JavaScript SDK将歌曲下载到所提供的位置
- 安全地实现用于Facebook身份验证的Javascript SDK
- Facebook JavaScript SDK 检查用户是否为粉丝(错误:指定的版本无效)
- 组合不同 Javascript SDK 回调的最佳实践
- 使用 Javascript SDK 创建 Parse.File
- Facebook javascript sdk 基本登录或初始化错误
- Facebook Javascript SDK提要对话框显示空白窗口