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

Hvordan downloader man en fil, der er gemt ved hjælp af GridFS og returneret ved hjælp af GraphQL i React/Javascript-klienten?

Det, jeg gjorde, var, at jeg konverterede filen til en base64-streng (relateret spørgsmål ). Returner derefter strengen i resolveren.

const file_buffer = fs.readFileSync(filepath);
const contents_in_base64 = file_buffer.toString('base64');
return contents_in_base64;

Alternativt, hvis du ikke har adgang til filen samme som det originale spørgsmål, så kan du

chunk.data.toString('base64')); 

Så på front-end sætter jeg bare base64 på et ankertag (relateret spørgsmål ).

<a download={`${filename}.pdf`} href={`data:application/pdf;base64,${base64pdf}`} title='Download pdf document' />



  1. Forespørgsel mislykkedes med fejlkode 13 og fejlmeddelelsen 'ikke autoriseret på [db] til at udføre kommandoen { find:

  2. Forespørger distinkt med MongoMapper

  3. MongoDB $substrBytes

  4. Hurtig måde at finde dubletter på indekseret kolonne i mongodb