读取 Ruby 中的 blob 音频数据

Reading blob audio data in Ruby

我需要将用户在浏览器中录制的原始音频数据发送到 API。

我正在通过 POST 将原始 blob object 发送到我的 Rails 后端。收到后是这个样子

{"blob"=>#<ActionDispatch::Http::UploadedFile:0x00007f83ad01a7d8 @tempfile=#<Tempfile:/var/folders/cc/f7_d06hs6psbcxl87nwzsplr0000gn/T/RackMultipart20201021-933-1xu271c>, @original_filename="blob", @content_type="audio/wav", @headers="Content-Disposition: form-data; name=\"blob\"; filename=\"blob\"\r\nContent-Type: audio/wav\r\n">, "controller"=>"audios", "action"=>"interview"}

如何读取实际数据并将其提取(无需 headers)以发送到外部服务?

ActionDispatch::Http::UploadedFile looks similar to an IO object,所以你大概可以:

uploaded_file = params["blob"]
raw_string = uploaded_file.read # do what you want with the raw data