如何将在 HttpResponse 调用中作为 blob 接收的文件转换为 Salesforce Apex 编码中的音频文件?

How can I convert a file received as blob in HttpResponse call to an audio file in Salesforce Apex coding?

我实际上是在尝试通过点击第三方 api 在 Salesforce 中实现文本到语音的转换。当我通过 Postman 发送请求时,我得到了 .wav 格式的正确响应。但是,我无法在 salesforce 端以编程方式处理此响应,因为我无法将响应存储在任何音频对象中。

如有任何帮助,我们将不胜感激。

提前致谢。 阿比舍克

不能 100% 确定您要做什么,但假设您正确构建了对象,它看起来像这样

ResponseObject result = new ResponseObject();

result = (InnerClasses.ResponseObject)JSON.deserialize(json,  InnerClasses.ResponseObject.class);

这由 IBM 的 Watson Salesforce SDK 提供支持,可用 here

沃森文字转语音服务的功能测试可以找到here参考方法

testSynthesize(String username, String password, String customizationId)

作为响应的一部分返回的音频文件可以通过简单地从 IBMWatsonFile 创建它作为附件保存在 Salesforce 中,就像这个例子,

IBMWatsonFile resp = textToSpeech.synthesize(options);
Attachment attachment = new Attachment();
attachment.Body = resp.body();
attachment.Name = resp.name();
attachment.ParentId = '<your salesforce parent id>';
insert attachment; 

此代码基本上使用 getBodyAsBlob() 方法,可从 HttpResponse class

在使用此方法之前,请考虑 Salesforce 对任何 APEX 标注强制执行的调控器限制,请参阅记录的标注请求或响应的最大大小here