如何使用CAP返回二进制数据?

2020-08-31 00:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在尝试使用CAP返回...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试使用CAP返回一些二进制数据,但似乎框架处理了响应,而我却得到了纯文本:

/**从S3获取对象*/
     异步函数_getObject(req){
         const id = req.data.ID
         const params = {
             值区:vcap_services.objectstore [0] .credentials.bucket,
             密钥:ID
         };

         const data =(await(s3.getObject(params).promise()))。正文
         返回数据
     }
 

有没有一种方法可以定义将要返回的内容?

干杯

皮埃尔

7条回答
hongfeng1314
2020-08-31 00:33

嗨约翰尼斯,

这是您知道的事情。 我只是尝试了一下,但没有任何改变:

 srv.on('READ','Pictures',(req,next)=> {
   如果(!req.data.ID){
     返回next()
   }
   返回_getObjectStream(req)
 })

 异步函数_getObjectStream(req){
   const id = req.data.ID
   const params = {
     值区:vcap_services.objectstore [0] .credentials.bucket,
     密钥:ID
   };
   返回s3.getObject(params).createReadStream()
 } 

昨天我尝试将流传输到Express请求,但是由于响应被发送两次,所以它不起作用:

 s3.getObject(params).createReadStream()。pipe(req ._。req.res)

干杯

Pierre

一周热门 更多>