aws-sdk bucket.getObject:没有“访问控制允许来源”错误

时间:2019-08-18 18:37:19

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

我正在尝试从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);
      }
    });
  }
}

1 个答案:

答案 0 :(得分:0)

CORS需要在服务器端配置。在服务器cors配置上添加

<AllowedHeader>*</AllowedHeader>