Това е много възможно и по сигурен начин с помощта на пакети cfs:standard-packages
и cfs:filesystem
. Честно казано, не навлязох в дълбочина на въпроса ви.
Това е красива опаковка. Можете да прочетете за горните тук пакети в дълбочина .
КОД ЗА СЪЗДАВАНЕ НА КОЛЕКЦИЯ НА ФАЙЛОВА СИСТЕМА
var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");
YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
stores: [imageStore]
});
Накратко. Файловете ще бъдат записани на брат или сестра в bundle/
местоположение в cfs/files/YOUR_COLLECTION_NAME
. Информацията за файла ще бъде запазена в колекцията cfs.YOUR_COLLECTION_NAME.filerecord
и временното местоположение ще се използва за вътрешни цели с колекция cfs._tempstore.chunks
както по-долу.
Ако запишете който и да е файл с помощта на горния пакет. Метаданните ще бъдат запазени в cfs.YOUR_COLLECTION_NAME.filerecord
както по-долу
{
"_id" : "TBmxbsL2cMCM2tEc7",
"original" : {
"name" : "photo.jpg",
"updatedAt" : ISODate("2017-07-06T12:54:50.115Z"),
"size" : 2261,
"type" : "image/jpeg"
},
"uploadedAt" : ISODate("2017-07-08T06:58:32.433Z"),
"copies" : {
"YOUR_COLLECTION_NAME" : {
"name" : "photo.jpg",
"type" : "image/jpeg",
"size" : 2261,
"key" : "YOUR_COLLECTION_NAME-TBmxbsL2cMCM2tEc7-photo.jpg",
"updatedAt" : ISODate("2017-07-08T06:58:32.475Z"),
"createdAt" : ISODate("2017-07-08T06:58:32.475Z")
}
}
}
от страна на клиента можете да получите връзката към файла с документа, като използвате
YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();
Този URL адрес е базирана на токен безопасна връзка към файла вместо директно местоположение към вашия сървър. Можете да зададете допълнителни настройки за разрешаване/забрана за изтегляне и неща, точно както при нормалните колекции. Надявам се това да помогне!