【发布时间】:2019-12-01 08:55:16
【问题描述】:
我是 Angular 7 的新手,我需要使用 AWS Cognito 从 AWS S3 存储桶中获取和显示图像(我有身份池 ID)。
我在我的项目中安装了 AWS SDK、S3、AWS Cognito 并尝试获取和显示图像,但我只获得了我无权访问的图像 URL,因此请指导我
viewAlbum(albumName:any) {
var albumBucketName = 'XXXX';
var bucketRegion = 'XXXX';
var IdentityPoolId = 'XXXXX';
var AWS = require('aws-sdk');
AWS.config.update({
region: bucketRegion,
credentials: new AWS.CognitoIdentityCredentials({
IdentityPoolId: IdentityPoolId
})
});
var s3 = new AWS.S3({
apiVersion: '2006-03-01',
params: {Bucket: albumBucketName}
});
var albumPhotosKey = encodeURIComponent(albumName);
s3.listObjects({Prefix: albumPhotosKey}, function(err:any, data:any) {
console.log("photos::::",data)
if (err) {
return alert('There was an error viewing your album: ' + err.message);
}
var href = this.request.httpRequest.endpoint.href;
var bucketUrl = href + albumBucketName + '/';
var photos = data.Contents.map(function(photo:any) {
var photoKey = photo.Key;
var photoUrl = bucketUrl + encodeURIComponent(photoKey);
console.log("viewalbus::::",photoUrl)
});
});
}
预期输出:
我应该能够显示图像
实际结果:
我无法获取或显示图片网址
【问题讨论】:
-
几件事:您如何将它与 Angular 一起使用?您是否收到任何错误 -
console.log是否显示正确的网址? -
yaaa Zlatko 我正在获取图片网址,但我需要获取预签名的网址
-
你能显示实际的角码吗?你知道你必须用 Angulars
DomSanitizer清理 url 吗? -
嗨 zlatko,这是我的代码,但在编译时没有错误,请帮助我如何使用 angulars DomSanitizer
-
我会的,但首先您需要展示如何使用您在 Angular 代码中展示的功能?你有 Angular 代码吗?
标签: javascript angular angular7