【发布时间】:2015-12-18 13:53:26
【问题描述】:
我想从 s3 获取图像并将它们显示在我的 HTML 页面上。
Angular HTML 文件:
<section data-ng-controller="myCtrl">
<img ng-src="{{src}}" width="200px" height="200px">
</section>
角度控制器文件:
angular.module('users').controller('myCtrl', ['$scope',function($scope) {
var s3 = new AWS.S3();
s3.getObject({Bucket: 'mybucket', Key: 'myimage.jpg'},function(err,file){
//code?? to display this image file in the img tag
//$scope.src=file????....obviously it wont work
});
}]);
我发现了一个叫 FileReader 的东西,并尝试了这个:
var reader = new FileReader();
reader.onload = function(event) {
$scope.src = event.target.result;
}
reader.readAsDataURL(file);
但它显示错误:
未捕获的 TypeError:无法在“FileReader”上执行“readAsDataURL”:参数 1 不是“Blob”类型。
请帮我编写在 img 标签中显示图像文件的代码
我的 S3 存储桶不公开
编辑:
我对s3不感兴趣。我想知道的是
如何使用 HTML 图像标签以文件对象 (s3 obj) 的形式显示您在 javascript 代码中拥有的图像
【问题讨论】:
-
请问为什么您的存储桶不能有公共读取权限?如果您不这样做,则需要通过密钥访问存储桶,并且如果您将密钥放入代码中,那么您的存储桶基本上是非常公开的。
-
@enpenax 实际上我的问题是如何使用 html 图像标签以文件对象的形式显示您在 javascript 代码中拥有的图像
-
现在工作了吗?我有一些问题
标签: javascript angularjs amazon-s3 filereader aws-sdk