AWS S3 - 允许公开查看HTML文件

3

我希望让公众用户通过浏览器查看位于AWS S3存储桶上的HTML文件。这些HTML文件是通过Node.js创建和上传到我的S3存储桶的,并生成了指向该文件的URL链接。

我正在使用以下方法上传HTML文件:

s3.upload({
    Bucket: bucket,
    Key: "HTMLFiles/file.HTML",
    Body: fileStream,
    ACL: 'public-read'
}, function (err, data) {
    if (err) {
        console.log("Error: ", err);
    }
    if (data) {
        console.log("Success: ", data.Location);
    }
}).on('httpUploadProgress', event => {
    console.log(`Uploaded ${event.loaded} out of ${event.total}`);
});

运行脚本后,生成的URL看起来像这样:https://bucket-name.s3.region.amazonaws.com/HTMLFiles/file.html(显然这只是一个示例URL,并非实际URL)。当用户访问此URL时,浏览器不会查看HTML文件,而是下载该文件。如何指定此文件应在浏览器上加载和查看,而不是下载?

您也可以通过在存储桶上启用网站托管来完成此操作;我们经常使用非常类似的方法将文件上传到S3,而不传递ContentType,并且它们直接从S3存储桶中作为HTML文件提供。 - hephalump
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接