Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby wami记录器和Sinatra_Ruby_Sinatra - Fatal编程技术网

Ruby wami记录器和Sinatra

Ruby wami记录器和Sinatra,ruby,sinatra,Ruby,Sinatra,我需要我的用户录制语音剪辑。我现在负责客户端的语音记录。我正在使用默认的javascript函数: Wami.startRecording('/upload?name=mysound.wav'); Wami.stopRecording(); 在chrome控制台中,我可以看到post请求被成功发送,因为当我使用wami记录器时,默认url“https://wami-recorder.appspot.com/audio“,工作正常。但我似乎无法在后端接收文件,Sinatra。如何获取文件并将其存

我需要我的用户录制语音剪辑。我现在负责客户端的语音记录。我正在使用默认的javascript函数:

Wami.startRecording('/upload?name=mysound.wav');
Wami.stopRecording();
在chrome控制台中,我可以看到post请求被成功发送,因为当我使用wami记录器时,默认url
“https://wami-recorder.appspot.com/audio“
,工作正常。但我似乎无法在后端接收文件,Sinatra。如何获取文件并将其存储?有人能给我指出正确的方向吗

这是我的控制器:

post "/upload" do 
    p params
end
输出仅为:

{"name"=>"file.wav"}

音频作为原始主体的一部分发布。我可以使用
request.raw\u post

在一些简短的谷歌搜索中,你似乎也可以在sinatra使用
request.env[“rack.input”]读取

然后可以将其直接保存到文件中

file = File.new("audio.wav", "w+b")
file.write request.env["rack.input"].read
file.close
这将在同一目录中保存wav文件