【发布时间】:2018-05-20 13:01:54
【问题描述】:
我正在使用两个Express JS 应用程序,一个是API,第二个是通过发出请求并向用户显示收到的信息来使用此API 的应用程序。
在API 路由中,我发送图像作为响应:
router.get('/:customer_id',authController.isAuthenticated,(req,res) => {
.
. Retrieving customer data
.
return res.sendFile('/uploads/'+foundCustomer.doc_path);
});
后来另一个应用程序得到了这个document:
router.get('/:customer_id',(req,res) => {
var options = {
url: 'http://'+config.API.user+':'+config.API.password+'@'+config.API.host+':'+config.API.port+'/customers/'+req.params.customer_id
};
request(options,(err,response,body)=>{
return res.render('customer/show',{
document: ?, // Send document as parameter to view
});
});
});
此时我想用客户document 渲染customer/show(EJS 视图引擎),但我不想将此文档保存在我的应用程序文件中,因为document 只需要在视图中显示(客户详细信息和文档存储在另一个应用程序中)。
我试图在我的应用程序结构中创建temporary目录,但是很难管理删除那些不需要的文件(应用程序有很多users,同时可以显示很多customers)。
我尝试实施的另一个解决方案是在客户端发出Ajax 请求,然后将收到的文档附加到<object data='document'>。但是这个请求必须通过user 和password 进行身份验证,所以我意识到在客户端javascript 上存储凭据并不是最好的主意...
我不确定是否可以render 并显示图像而不保存在应用程序文件中?
如果能提供任何帮助,我将不胜感激,也许最好的解决方法是以某种方式管理 temporarily 保存的文档。
【问题讨论】:
标签: javascript html api express httprequest