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

Come scaricare un file archiviato utilizzando GridFS e restituito utilizzando GraphQL nel client React/Javascript?

Quello che ho fatto è stato semplicemente convertire il file in una stringa base64 (domanda correlata ). Quindi restituisci la stringa nel risolutore.

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

In alternativa, se non hai accesso al file come nella domanda originale, puoi

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

Quindi, sul front-end, ho semplicemente inserito base64 su un tag di ancoraggio (domanda correlata ).

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