我正在使用multer将文件存储在本地存储中,然后根据当前发送文件并将其发送回来,因为文件正在发送缓冲区(我使用邮递员查看它们)。我还需要在文件旁边发送json数据。
在下面的示例中,我评论了无法按预期工作的resFile代码。我只是用res.send发送json数据。
我的文件结构如下所示
~root
-controllers folder (route callback logic here)
-storage (with files i need to fetch)
-route.js file
-app.js file (entry point),
-etc.
try{
const template = await Template.findOne({
where : {
user_id : req.user.dataValues.id,
template_id : req.params.id
}
}).then((data)=>{
let dataJSON = {
id : data.dataValues.id,
user_id : data.dataValues.user_id,
template_id : data.dataValues.template_id,
title : data.dataValues.title,
customizations : JSON.parse(data.dataValues.customizations),
attachments : JSON.parse(data.dataValues.attachments)
}
let name = path.parse(dataJSON.attachments[0].path).name;
let ext = path.parse(dataJSON.attachments[0].path).ext;
console.log(name);
if(data){
// res.sendFile(name+ext,{root :path.join('storage','')},(err)=>{
// if (err) throw err;
// });
res.send({
success : true,
data : dataJSON
})
}else{
if(err) throw err;
res.status(403).send({
success : false,
message : 'Template Doesnt exist'
});
}
});
}
答案 0 :(得分:0)
您要做的是从您的服务器发送make objs
个回复。如果响应发送给您控制的客户端并且可以修改以处理这些响应,那么您应该没问题,但是对它们的浏览器支持将会受到影响。充其量的想念。如果您搜索“多部分响应”,您会发现有关该主题的各种讨论,其中许多都在Stack Overflow中。这里有一些示例代码。multipart/mixed response using NodeJS