我正在使用CollectionFS来存储从流星应用程序上传的文件.我正在使用cfs-filesystem软件包使用本地文件系统保存文件.
现在,当我上传文件时,该文件会保存到〜/ uploads / images-h9jWnALqSZMpAX4h4-IMG_3737.JPG
我有一个需要使用的现有文件系统结构,如果需要,我们需要易于手动遍历这些文件.
假设我要将该路径自定义为类似于〜/ uploads / jaredtmartin / IMG_3737.jpg的路径.当其他用户上传时,它会以他的名字进入一个新文件夹,例如〜/ uploads / suzyq / IMG_1234.jpg.能做到吗如果不是,我可以在哪里修改代码以使其实现?
解决方法:
您可以使用fileKeyMaker,请参阅here
var imageStore = new FS.Store.FileSystem("images", {
fileKeyMaker: function (fileObj) {
// Lookup the copy
var store = fileObj && fileObj._getInfo(name);
// If the store and key is found return the key
if (store && store.key) return store.key;
// TO CUSTOMIZE, REPLACE CODE AFTER THIS POINT
var filename = fileObj.name();
var filenameInStore = fileObj.name({store: name});
// If no store key found we resolve / generate a key
return fileObj.collectionName + '-' + fileObj._id + '-' + (filenameInStore || filename);
}
});