1

Meteor Local ファイルシステムを使用して、FS.Store.FileSystem API を使用してアセットを特定のフォルダーにアップロードしています。しかし、タイプのメタデータに基づいて、これらのアセット カテゴリごとに個別のフォルダーにアップロードしたいと考えています。Meteorでこれを行う方法がわかりません。元のドキュメントでは、fileKeyMaker メソッドの使用が提案されています。誰かがそれを説明してもらえますか、それを使用してアセットを別のフォルダーに保存する方法はありますか?

https://github.com/CollectionFS/Meteor-CollectionFS/wiki/How-to:-Customize-the-folders-on-the-filesystem

    AssetFiles = new FS.Collection("assets",{
    stores : [
            new FS.Store.FileSystem("AssetBundle",{path : '~/uploads'})
    ],
    filter : {
        maxSize: 5048576,
        allow : {
                extensions: ['pdf','FBX','cad','jpeg','gif','png','jpg']
        }
    }
 });
4

1 に答える 1

0

フォルダーをハックとして作成する場合は、難しくありません。次のようにするだけです。

AssetFiles = new FS.Collection("assets",{
stores : [
        new FS.Store.FileSystem("AssetBundle",{path : '~/uploads',
           fileKeyMaker: function (fileObj) {
               // Lookup the copy
               var store = fileObj && fileObj._getInfo("assets");
               // If the store and key is found return the key
               if (store && store.key) return store.key;

               var filename = fileObj.name();
               if(filename.indexOf("pdf")>-1){
                   // If no store key found we resolve / generate a key
                   // this should be: "~/uploads/pdf/<filename>"
                   return "pdf/"+filename;
               }

           }
        })
],
filter : {
    maxSize: 5048576,
    allow : {
            extensions: ['pdf','FBX','cad','jpeg','gif','png','jpg']
    }
}
});

同様のことをしようとしていますが、うまくいきませんが、フォルダーの数が限られています。うまくいけば、上記の作品。

于 2016-04-17T06:11:19.127 に答える