angular - 如何以这种格式将文档上传到 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;
});
}
解决方案
您将文件上传到 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 上运行。
推荐阅读
- c++ - 在函数 C++ 中间使用默认值
- angular - 如何动态传递角度html列表中的数据数组
- python - 在字符串 Python 中计算符号字符
- javascript - 使用 ReactJS 在 Material-UI 的 TableBody 中使用 .map 函数时出现编译错误
- python - 为什么在 Pygame 中clock.tick() 不能准确测量时间?
- javascript - MongoDB 使用 getter 或 setter 代替聚合查找
- html - 如何在平板电脑和手机上停用 css 代码?
- gradle - Calling ant task within gradle script
- scala - 选择正确的 ExecutionContext
- angular - Angular keyup 事件处理如何帮助更新引用变量的值