☰
处理 Rails 7 中文本转语音 API 的二进制数据
2026/11/3 19:06:29 网站建设 项目流程

在使用 Rails 7 开发应用程序时,我们常常会遇到一些特定的技术挑战。今天我们要讨论一个常见问题:如何处理来自文本转语音 API 的二进制数据,并将其成功保存为 ActiveStorage 附件。

问题描述

假设你已经成功调用了一个文本转语音 API,并且通过 HTTP 请求获得了 200 的响应码,这意味着 API 调用是成功的。然而,当你试图读取响应体时,你会得到一大段看似无意义的二进制数据,如下所示:

ID3#TSSELavf58.29.100����]D:�)�ķ�L�5A��@7 2�L��3��8�ֳYKFY�@G-�( ���"�w��D@c�;a�S��-" ...

这实际上是音频文件的二进制表示,但直接将这种数据保存为 ActiveStorage 附件时,会遇到ActiveSupport::MessageVerifier::InvalidSignature - mismatched digest错误。

解决方案

解决这个问题的关键是先将二进制数据保存为临时文件,然后再通过 ActiveStorage 附件的方式上传。以下是详细的步骤:

  1. 获取 API 响应:

    response=http

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询