Stream | Size unknown (multiple paquet called “chunk”) | asynchronous | |
Buffer | Size known | synchronous |
A stream uses buffer to store chunks.
async function downloadDocument(url, req, res) {
let filename = req.params.idversiondocument;
try {
const result = await request.get(path.join(url, "/api/ged/" + req.params.idDocument + "/file"))
.auth(req.token, {
type: 'bearer'
})
.responseType('blob'); // get response as buffer (synchronous).
res.status(result.status);
res.write(result.body, 'binary'); // response = buffer as binary.
return res.end();
} catch (error) {
logger.error(JSON.stringify(error));
return res.status(error.status).send(error.message);
}
};