2016-02-05 5 views
1

Я использую локальную файловую систему Meteor для загрузки своих активов с помощью FS.Store.FileSystem API в определенной папке. Но я хочу, чтобы эти категории активов были загружены в отдельные папки на основе их метаданных типа. Я не могу понять, как это сделать в Метеор. В исходной документации предлагается использовать метод fileKeyMaker. Может ли кто-нибудь объяснить это, как использовать его для хранения активов в отдельных папках?Загрузить файлы в динамические подпапки в файловой системе Meteor CFS

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'] 
     } 
    } 
}); 
+0

Не могли бы вы пометить мой ответ правильно, если это было, помочь другим. Очень признателен. – msj121

ответ

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'] 
    } 
} 
}); 

Я пытаюсь сделать что-то подобное, не повезло, но у вас есть ограниченное количество папок. Надеюсь, что это работает.

 Смежные вопросы

  • Нет связанных вопросов^_^