在 Meteor CFS 文件系统中上传动态子文件夹中的文件
Upload files in dynamic subfolders in Meteor CFS filesystem
我正在使用 Meteor 本地文件系统在特定文件夹中使用 FS.Store.FileSystem API 上传我的资产。但是,我想根据类型元数据将这些资产类别明智地上传到单独的文件夹中。
我不知道如何在 Meteor 中执行此操作。原始文档建议使用 fileKeyMaker 方法。有人可以解释一下吗,如何使用它来将资产存储在单独的文件夹中?
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']
}
}
});
如果您以 hack 的方式创建文件夹,那并不困难。只需执行以下操作:
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']
}
}
});
我正在尝试做类似的事情,但没有成功,但您的文件夹数量有限。希望以上方法有效。
我正在使用 Meteor 本地文件系统在特定文件夹中使用 FS.Store.FileSystem API 上传我的资产。但是,我想根据类型元数据将这些资产类别明智地上传到单独的文件夹中。 我不知道如何在 Meteor 中执行此操作。原始文档建议使用 fileKeyMaker 方法。有人可以解释一下吗,如何使用它来将资产存储在单独的文件夹中?
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']
}
}
});
如果您以 hack 的方式创建文件夹,那并不困难。只需执行以下操作:
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']
}
}
});
我正在尝试做类似的事情,但没有成功,但您的文件夹数量有限。希望以上方法有效。