如何将在 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
我实际上是在尝试通过点击第三方 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