首页 > 解决方案 > 如何以这种格式将文档上传到 AWS S3 domain_name/my_bucket_name/my_folder_name

问题描述

我正在尝试使用 angular 直接将文档上传到 AWS S3。

我已经按照这个教程

但是我需要上传文件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;
    });
  }

标签: angularamazon-s3

解决方案


您将文件上传到 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

您还可以打开静态网站托管,它具有不同的格式来访问对象。

顺便说一句,如果您只想将文件放入 S3(并且不想将其作为应用程序的一部分),您可以简单地使用AWS 命令​​行界面 (CLI)。它具有简单的命令,可在 Windows、Mac 和 Linux 上运行。


推荐阅读