【发布时间】:2020-11-27 23:28:06
【问题描述】:
如何将 json 与图片文件一起以 express 方式发送?
我了解到您使用 res.sendFile 提供图片
const path = require('path');
app.get('/image/:filename', (req, res, next) => {
res.type('png');
res.sendFile(
path.resolve(`${path.join(__dirname, './data/images')}/${req.params.fileName}`)
);
});
但是,如果您想在图像中包含 json 怎么办?例如,如果您提供用户的个人资料数据 - 名称、信息等和个人资料图片。
const path = require('path');
app.get('/user/:id', async (req, res, next) => {
const { id } = req.params;
let user;
try {
user = await userService.getUser(id);
} catch (err) {
return next(err);
}
/* user:
* {
* name: "Dash",
* location: "Chicago",
* profilePicture: '5c751e73-a7bc-47c4-b2a5-4ac902e7a2ce.png'
* }
*/
// what next????
});
你做不到
res.type('png');
res.sendFile(path.resolve(`${path.join(__dirname, './data/images')}/${user.profilePicture}`));
和res.send(json)。那么如何同时发送呢?
【问题讨论】:
标签: javascript node.js express http