Jest to bardzo możliwe i bezpieczne przy użyciu pakietów cfs:standard-packages
i cfs:filesystem
. Szczerze mówiąc, nie zagłębiłem się w twoje pytanie.
To piękne opakowanie. Możesz przeczytać o powyższych tutaj szczegółowo pakietach .
KOD TWORZENIA KOLEKCJI SYSTEMU PLIKÓW
var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");
YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
stores: [imageStore]
});
W skrócie. Pliki zostaną zapisane u rodzeństwa w bundle/
lokalizacja w cfs/files/YOUR_COLLECTION_NAME
. Informacje o pliku zostaną zapisane w kolekcji cfs.YOUR_COLLECTION_NAME.filerecord
a tymczasowa lokalizacja będzie używana do celów wewnętrznych z kolekcją cfs._tempstore.chunks
jak poniżej.
Jeśli zapiszesz dowolny plik za pomocą powyższego pakietu. Metadane zostaną zapisane w pliku cfs.YOUR_COLLECTION_NAME.filerecord
jak poniżej
{
"_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")
}
}
}
po stronie Klienta możesz uzyskać link do pliku dokumentu za pomocą
YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();
Ten adres URL to bezpieczny link do pliku oparty na tokenie, a nie bezpośrednia lokalizacja na serwerze. Możesz ustawić dodatkowe ustawienia zezwalania/odrzucania pobierania i innych rzeczy, tak jak normalne kolekcje. Mam nadzieję, że to pomoże!