在Angular中显示CollectionFS图像

时间:2015-09-16 02:04:49

标签: javascript angularjs meteor gridfs collectionfs

我在Angular控制器中的GridFS(通过CollectionFS)中检索存储的图像时遇到问题。我订阅了流星图像:

$scope.images = $meteor.collectionFS(Images, false, Images);

然后我将它们上传到DB(可以工作)

$scope.uploadFile = function (files) {
    if (files.length > 0) {
        $scope.images.save( files[ 0 ] ).then( function( result ) {
            $scope.temp_winery.logo_src = result[ 0 ]._id._id;
        });
    }
};

但我希望能够在我的模板中显示它们...似乎无法获取我想在控制器中调用.url()的文件对象=(。任何帮助,想法,或者建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

阿列克,

上传到GridF后,图像可用几秒钟。 更好的选择是第一次从本地系统显示图像。

FS.Utility.eachFile(event,function(file){             // var files = !! this.files? this.files:[];             // if(!files.length ||!window.FileReader)返回; //未选择任何文件,或者没有FileReader支持             selectedFile =文件;             if(/^image/.test(file.type)){//仅图像文件                 var reader = new FileReader(); // FileRead的实例//呃                 reader.readAsDataURL(文件); //读取本地文件

            reader.onloadend = function(e){ // set image data as background of div
                $('#productImage').attr('src', e.target.result);
            // $("#imagePreview").css("background-image", "url("+this.result+")");
            }
        }
    });