【问题标题】:How can I avoid "Networking Error: Network Failure" when downloading a file from AWS S3 bucket?从 AWS S3 存储桶下载文件时,如何避免“网络错误:网络故障”?
【发布时间】:2014-02-23 12:04:37
【问题描述】:

我正在使用 AWS S3 访问我的 HTML5 应用程序中的文件。以下代码在我的笔记本电脑上运行良好,但在移动设备(iphone)上失败。非常感谢任何帮助。

 AWS.config.region = 'us-west-2';
 var bucket = new AWS.S3({params: {Bucket: 'mybucket'}});
 bucket.getObject({Key: myfile}, function (error, data) {

 if (error != null) {
    alert("Failed to retrieve " + myfile + " :" + error);
 } else {
     //alert("Loaded " + data.ContentLength + " bytes");
     localStorage[myfile] = data.Body.toString();
     // do something with data.body

 }}); 

我得到的错误是: "http //本地主机 获取 foo.json 失败:NetworkingError: Network Failure"

我对此存储桶有以下 CORS 配置

<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
</CORSRule>

【问题讨论】:

    标签: javascript amazon-s3


    【解决方案1】:

    我能够通过 aws 技术支持解决此问题。使用以下 CORSconfig 解决了问题:

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

    【讨论】:

    • 请将此标记为正确答案,因为它是;)
    • 这个问题是在更改后中间解决的,还是需要一段时间?
    • 如果你现在看到这个,S3 现在要求你用 JSON 编写你的 CORS 配置。正确的语法如下所示:stackoverflow.com/questions/64842173/…
    猜你喜欢
    • 2019-09-20
    • 2018-02-14
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2019-01-31
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多