CollectionFS получить URL-адрес от клиента

Я разрабатываю свое первое метеорное приложение и только что реализовал загрузку изображений с помощью CollectionFS и gridfs. Я могу успешно просматривать загруженные изображения с помощью <img src="{{this.url}}">, но мне нужно получить к ним доступ из клиента в Meteor. Я пытаюсь использовать поле из другого документа в коллекции и вызывать изображение на основе совпадения полей в метаданных. (В основном соединение двух документов с помощью пробелов registerHelper). Я не решаюсь вставлять другие документы с изображением, потому что меня беспокоит потребность в пространстве.

Я попытался просмотреть пакет Meteor-cfs-ui, но у меня возникли проблемы с его переводом в мой собственный registerHelper с пробелом. Просматривая страницу помощников пользовательского интерфейса на Meteor-CollectionFS, я обнаружил неработающую ссылку на то, где, как мне кажется, находится мой ответ.

Я могу просматривать все изображения, которые загружаю, так что это не проблема, используя {{this.url}}. Меня беспокоит просто попытка получить URL-адрес изображений в коллекции с помощью запроса к FS.Collection на стороне клиента.

Вот мой код:

client.html

    {{#each individualBuyOffers}}
    <div class="col-sm-6 col-md-4">
        <div class="thumbnail">

            <h4>{{shoePict make}}</h4>

        </div>
    </div>
    {{/each}}

client.js

      UI.registerHelper('shoePict',function(context,options){

         if(context){
             //The goal is to query the Pictures collection
             //and find the url to the picture I want
             //then output it to HTML from the SafeString
             //Pictures is my FS.Collection
             var url = Pictures.find({'metadata.make': context});
             //var collection = FS._collections[Pictures];
             //return collection ? collection.findOne(id) : null;
             //I know this is not the right statement
             return new Spacebars.SafeString( "<img src=\"{{this.url}}\">") ;
             }
      });

Если есть какие-либо другие более простые решения для прикрепления изображения из CollectionFS к другому документу через html, я был бы рад их услышать. Я просто пытаюсь учиться. Спасибо.


person Cam    schedule 17.10.2015    source источник


Ответы (1)


Из js вы можете получить доступ к URL-адресу файла collectionFS с помощью fileObj.url(), например:

var url = Pictures.findOne({'metadata.make': context}).url();
person Michel Floyd    schedule 17.10.2015
comment
Ничего себе, это было намного проще, чем ожидалось, спасибо. - person Cam; 17.10.2015