MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Archivia un dataURL in MongoDB per accedervi tramite URL locale (JS)

Questo è molto possibile e in modo sicuro usando i pacchetti cfs:standard-packages e cfs:filesystem . Francamente, non ho approfondito la tua domanda.

È un bel pacchetto. Puoi leggere i pacchetti sopra qui .

CODICE PER CREARE LA RACCOLTA FILESYSTEM

var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");

YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
  stores: [imageStore]
});

In breve. I file verranno salvati presso il fratello in bundle/ posizione in cfs/files/YOUR_COLLECTION_NAME . Le informazioni sul file verranno salvate nella raccolta cfs.YOUR_COLLECTION_NAME.filerecord e la posizione temporanea verrà utilizzata per scopi interni con la raccolta cfs._tempstore.chunks come sotto.

Se salvi qualsiasi file usando il pacchetto sopra. I metadati verranno salvati all'interno di cfs.YOUR_COLLECTION_NAME.filerecord come di seguito

{
    "_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")
        }
    }
}

lato Cliente, puoi ottenere il collegamento al file del documento utilizzando

YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();

Questo URL è un collegamento sicuro basato su token al file invece della posizione diretta al tuo server. Puoi impostare ulteriori impostazioni di autorizzazione/negazione per il download e le cose proprio come le normali raccolte. Spero che questo aiuti!