2015-09-16 5 views
1

У меня возникли проблемы с получением сохраненных изображений в GridFS (через CollectionFS) в моем угловом контроллере. Подписаться на метеорных изображений:Отображение CollectionFS изображений в Angular

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

затем загружать их в базу данных (который работает)

$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() на в контроллере = (. Любая помощь, идеи или предложения будут высоко оценены.

ответ

0

Alek,

После uploa ding to GridFs, для получения изображения требуется несколько секунд. Лучшая опция - сначала отображать изображение из локальной системы.

FS.Utility.eachFile (событие, функция (файл) {// вар FILES = !! this.files this.files:! []; // если (files.length || окно. FileReader) return; // не выбран файл или нет поддержки FileReader selectedFile = file; if (/^image/.test (file.type)) {// только файл изображения var reader = new FileReader();// экземпляр // эр reader.readAsDataURL (файл) FILEREAD; // читать локальный файл

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

Спасибо за ответ, но я не уверен, что я могу прочитать код Кроме того, я. m не использовать файловую систему, но storin g непосредственно в БД. –