点击此处---> 群内免费提供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()))。正文 返回数据 }
有没有一种方法可以定义将要返回的内容?
干杯
皮埃尔
你好多米尼克,
请在您的on处理程序中尝试以下return语句:
返回{值:_getObjectStream(req)}
最诚挚的问候,
Vitaly
我正在尝试替换默认的READ处理程序,以从S3获取文件并返回它。 我可以将文件存储在S3中,但是找不到在读取响应中返回文件的方法。
db \ schema.cds:
srv \ media-service.cds:
srv \ media-service.js:
干杯
Pierre
您好Dominique,
您能否提供更多有关您要实现的目标的信息?
您是否将此功能作为动作/功能的一部分执行,还是作为读取请求的自定义处理程序的一部分? 请与我们分享您的CDS模型的相关部分,以便更好地了解您的用例。
从S3检索的原始数据类型是什么?
最诚挚的问候,
Johannes
Hi Dominique,
处理程序需要返回流( https://使用@ Core.MediaType批注时,请使用nodejs.org/docs/latest-v8.x/api/stream.html )。
伪代码:
s3模块为您提供什么格式?
最诚挚的问候,
Johannes
这是一篇博客文章,更详细地解释了如何在CAP中处理媒体以及如何使用Amazon S3: https://blogs.sap.com/2019/11/05/working -with-caps-in-cap-and-amazon-s3 /
嗨约翰尼斯,
这是您知道的事情。 我只是尝试了一下,但没有任何改变:
昨天我尝试将流传输到Express请求,但是由于响应被发送两次,所以它不起作用:
干杯
Pierre
嗨Vitaly,
这有效,谢谢!
我对函数还有另一个问题,是否可以通过函数获取文件? 也许是这样的:
srv \ media-service.cds:
srv \ media-service.js:
但是如何传递参数? 以下内容不起作用("在位置11的'getObject(\" bfc584bd-df15-453e-986c-02d3ccb62141 \")'中找不到预期的uri标记'ODataIdentifier'):
干杯
Pierre
一周热门 更多>