如何以此格式domain_name / my_bucket_name / my_folder_name将文档上载到AWS S3

时间:2018-05-26 05:58:06

标签: angular amazon-s3

我正在尝试使用angular。

直接将文档上传到AWS S3

我已遵循此tutorial

但是我需要将文档上传到https://s3.amazonaws.com/my_bucket_name/my_file_name而不是https://my_bucket_name.s3.amazonaws.com/my_file_name

我怎样才能做到这一点。 这是我上传的方法。

uploadfile(file) {

    const bucket = new S3(
      {
        accessKeyId: 'my-ACCESS-KEY-ID',
        secretAccessKey: 'my-SECRET-ACCESS-KEY',
        region: 'my_region'
      }
    );

    const params = {
      Bucket: 'my_bucket_name',
      Key: this.FOLDER + file.name,
      Body: file
    };

    bucket.upload(params, function (err, data) {
      if (err) {
        console.log('There was an error uploading your file: ', err);
        return false;
      }

      console.log('Successfully uploaded file.', data);
      return true;
    });
  }

1 个答案:

答案 0 :(得分:0)

将文件上传到Amazon S3的方式与以后访问文件的方式无关。

因此,如果适合您,请随意使用您当前的方法进行上传。您需要提供存储桶的名称和,这是包含完整路径的文件名(例如my-folder/my-file)。

文件在S3后,您可以通过以下两种方式访问​​:

  • https://s3.amazonaws.com/my_bucket_name/my_file_name
  • https://my_bucket_name.s3.amazonaws.com/my_file_name

您还可以打开Static Website Hosting,它具有不同的格式来访问对象。

顺便说一下,如果您只想将文件放入S3(并且不想将其作为应用程序的一部分),您只需使用AWS Command-Line Interface (CLI)即可。它具有简单的命令,可在Windows,Mac和Linux上运行。