使用meteor,所以在javascript中,我尝试显示来自AMAZON S3的图像。在图像的 src 属性中,我将访问 url 放在 AWS 控制台提供的法师中,如果我的图像是公开的,它就可以工作。如果我在亚马逊 S3 中不公开它,它就不起作用。因此,我要求 S3 向我发送正确的 URL,并将此 URL 提供给我的图像的 src 属性:
var s3 = new AWS.S3();
var params = {Bucket: 'mybucket', Key: 'photoPage06_4.jpg', Expires: 6000};
var url = s3.getSignedUrl('getObject', params);
console.log("URL", url);
document.getElementById('photoTest').src =url;
在那里我有错误:
加载资源失败:服务器响应状态为 400(错误请求)
有人有想法吗?
这是正确的行为。如果图像在 S3 上设置为私有,则无法公开查看。这意味着您将无法通过将其设置为src
图像标签的属性或将其粘贴到浏览器的地址栏中来查看图像。
这是有意为之,因为许多人和公司使用它来备份文件、在内部共享文件等。因此他们需要选择将文件保密。他们创建和访问私有文件的方式是通过 AWS API,而不是直接通过网络。
因此,要回答您的问题,您需要在 S3 中公开要在您的站点上显示的任何图像。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句