【问题标题】:aws-sdk bucket.getObject: No 'Access-Control-Allow-Origin' erroraws-sdk bucket.getObject:没有“访问控制允许来源”错误
【发布时间】:2019-12-24 02:53:05
【问题描述】:

我正在尝试从 S3 存储桶中获取一个对象,并在我的存储桶上配置了 CORS,但仍在获取

没有“访问控制允许来源”

错误

我已经尝试了所有在线可用的各种修复,但似乎没有任何效果。

我的角码

import { Component } from '@angular/core';
import * as AWS from 'aws-sdk';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})

export class AppComponent {
  title = 'awsapp';

  ngOnInit() {
    AWS.config.credentials = new AWS.Credentials({
      accessKeyId: 'my-access-key',
      secretAccessKey: 'my-secret-key'
    });

    AWS.config.update({
      region: 'us-east-1'
    });
  }

  getObject() {

    let s3 = new AWS.S3();

    const params = {
      Bucket: 'my-bucket-name',
      Key: 'testfolder/tests3.txt'
    };

    s3.getObject(params, function (err, data) {
      if (err) {
        console.error(err);
      }
      else {
        // const string = new TextDecoder('utf-8').decode(data.Body);
        console.log(data);
      }
    });
  }
}

【问题讨论】:

    标签: angular amazon-web-services amazon-s3 cors


    【解决方案1】:

    CORS 需要在服务器端进行配置。在服务器 cors 配置中添加这个

    <AllowedHeader>*</AllowedHeader>
    

    【讨论】:

    • 我已经在我的 AWS 控制台上配置了我的 CORS,如下所示 s3.amazonaws.com/doc/2006-03-01"> *GETPUTPOSTDELETE* CORSRule>
    • 是的,我只在 AWS S3 管理控制台中将 CORS 配置添加到 S3 存储桶。
    猜你喜欢
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 2018-10-18
    • 2017-07-21
    相关资源
    最近更新 更多