我想从s3获取图像并将其显示在我的HTML页面上.
Angular HTML文件:
<section data-ng-controller="myCtrl">
<img ng-src="{{src}}" width="200px" height="200px">
</section>
Run Code Online (Sandbox Code Playgroud)
角度控制器文件:
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
});
}]);
Run Code Online (Sandbox Code Playgroud)
我找到了一些调用FileReader的东西并尝试了这个:
var reader = new FileReader();
reader.onload = function(event) {
$scope.src = event.target.result;
}
reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)
但它显示错误:
Uncaught TypeError:无法在'FileReader'上执行'readAsDataURL':参数1不是'Blob'类型.
请帮我在img标签中显示图像文件的代码
我的S3存储桶不公开
编辑:
我对s3不感兴趣.我想知道的是
如何使用HTML图像标签以文件对象(s3 obj)的形式显示您的javascript代码中的图像
我已将图像上传到Amazon S3存储.但是如何通过url访问此图像?我已将文件夹和文件设为公共但如果尝试通过URL访问它仍然会收到AccessDenied错误https://s3.amazonaws.com/bucket/path/image.png