Dette er meget muligt og på en sikker måde ved at bruge pakker cfs:standard-packages
og cfs:filesystem
. Helt ærligt gik jeg ikke i dybden med dit spørgsmål.
Det er en smuk pakke. Du kan læse om ovenstående her pakker i dybden .
KODE TIL AT OPRETTE FILSYSTEMSAMLING
var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");
YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
stores: [imageStore]
});
Kort sagt. Filerne vil blive gemt hos søskende til bundle/
placering ved cfs/files/YOUR_COLLECTION_NAME
. Oplysninger om filen vil blive gemt i samlingen cfs.YOUR_COLLECTION_NAME.filerecord
og midlertidig placering vil blive brugt til interne formål med samling cfs._tempstore.chunks
som nedenfor.
Hvis du gemmer en fil ved hjælp af ovenstående pakke. Metadataene vil blive gemt i cfs.YOUR_COLLECTION_NAME.filerecord
som nedenfor
{
"_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")
}
}
}
på klientsiden kan du få linket til dokumentfilen ved hjælp af
YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();
Denne url er token-baseret sikkert link til filen i stedet for direkte placering til din server. Du kan indstille yderligere tillad/afvis indstillinger for download og ting ligesom normale samlinger. Håber dette hjælper!