Ask*_*mov 5 amazon-s3 typescript aws-sdk aws-sdk-nodejs aws-sdk-js
我使用 Typescript 代码将文件上传到 S3,如下所示:
import {PutObjectCommand, PutObjectCommandInput, S3Client} from "@aws-sdk/client-s3";
const s3 = new S3Client(config);
const uploadParams: PutObjectCommandInput = {
Bucket: bucketName,
Key: filename,
Body: fileData
};
await s3.send(new PutObjectCommand(uploadParams));
Run Code Online (Sandbox Code Playgroud)
但是,我需要在上传后将对象公开,以便将其作为静态网站的一部分进行访问,并将其作为私有上传。我如何告诉 s3 客户端也将其公开?
在 中uploadParams,您可以提供PutObjectRequest中描述的参数,包括ACL。
或者,上传后,您可以使用PutObjectAclCommand和public-read预设 ACL。
另一种方法是通过 S3 存储桶策略简单地公开 S3 存储桶中的所有对象,这样您就不必单独公开每个对象。当然,这假设存储桶中的所有对象都设计为可公开读取,静态站点通常就是这种情况。
| 归档时间: |
|
| 查看次数: |
4040 次 |
| 最近记录: |