Node Express sending image files as API response

express, image, node.js

Solution

There is an api in Express.

`res.sendFile`

app.get('/report/:chart_id/:user_id', function (req, res) {
    // res.sendFile(filepath);
});

http://expressjs.com/en/api.html#res.sendFile

Problem

I Googled this but couldn't find an answer but it must be a common problem. This is the same question as Node request (read image stream - pipe back to response), which is unanswered. How do I send an image file as an Express .send() response? I need to map RESTful urls to images - but how do I send the binary file with the right headers? E.g., ``` <img src='/report/378334e22/e33423222' /> ``` Calls... ``` app.get('/report/:chart_id/:user_id', function (req, res) { //authenticate user_id, get chart_id obfuscated url //send image binary with correct headers }); ```

Original source