如何使用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条回答
梦想连接
2020-08-31 00:47

我正在尝试替换默认的READ处理程序,以从S3获取文件并返回它。 我可以将文件存储在S3中,但是找不到在读取响应中返回文件的方法。

db \ schema.cds:

命名空间媒体;

 实体图片{
   密钥ID:UUID;
   @ Core.MediaType:" image/png"
   内容:大二进制;
 } 

srv \ media-service.cds:

使用'../db/schema'中的媒体作为db;

 服务MediaService {
   实体图片作为db.Pictures上的投影;
 }
 

srv \ media-service.js:

 module.exports = srv => {
         srv.on('UPDATE','Pictures',async req => {
 const id = req.data.ID
 const stream = req.data.content

 const params = {
 值区:vcap_services.objectstore [0] .credentials.bucket,
 密钥:ID,
 身体:溪流
 ContentType:"图片/png"
 };
 s3.upload(params,function(err,data){
 console.log(err,数据)
 })
 })

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

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

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

干杯

Pierre

一周热门 更多>