0

私は最初の流星アプリを開発しており、CollectionFS と gridfs を使用して画像のアップロードを実装しました。を使用してアップロードした画像を正常に表示でき<img src="{{this.url}}">ますが、Meteor のクライアントからアクセスする必要があります。コレクション内の別のドキュメントのフィールドを使用し、フィールドがメタデータで一致するかどうかに基づいて画像を呼び出そうとしています。(基本的に、Spacebars registerHelper を使用して 2 つのドキュメントを結合します)。スペース要件が心配なので、他のドキュメントを画像に埋め込むことをためらっています。

Meteor-cfs-ui パッケージを調べてみましたが、自分の Spacebar registerHelper に変換するのに問題があります。Meteor-CollectionFS の UI Helpers ページを見ると、私の答えが存在すると思われる場所へのリンクが壊れています。

アップロードしたすべての画像を表示できるので、{{this.url}} を使用しても問題ありません。クライアント側で FS.Collection のクエリを使用してコレクション内の画像の URL を取得しようとするだけで、私は困っています。

これが私のコードです:

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 を介して別のドキュメントに画像を添付する簡単な方法が他にある場合は、ぜひお聞かせください。私はただ学ぼうとしています。ありがとう。

4

1 に答える 1

1

fileObj.url()js から、たとえば次のように collectionFS ファイルの URL にアクセスできます。

var url = Pictures.findOne({'metadata.make': context}).url();
于 2015-10-17T18:00:30.057 に答える