2013-05-06 69 views
2

我需要我的用戶錄製語音片段。我使用wami-recorder來照顧客戶端的錄音。我使用的是默認的JavaScript函數:wami-recorder和Sinatra

Wami.startRecording('/upload?name=mysound.wav'); 
Wami.stopRecording(); 

在Chrome控制檯,我可以看到POST請求被髮送成功,因爲,當我使用瓦米記錄儀默認網址"https://wami-recorder.appspot.com/audio",它工作正常。但我似乎無法收到後端的文件,Sinatra。我如何獲取文件並存儲它?有人能指引我朝着正確的方向嗎?

這是我的控制器:

post "/upload" do 
    p params 
end 

輸出就是:

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

回答

1

音頻被公佈爲原料身體的一部分。我能對一些簡單的使用
request.raw_post

保存在軌文件使用Google看來,你應該能夠 request.env["rack.input"].read

做同樣在西納特拉然後,您可以直接保存這一個文件

file = File.new("audio.wav", "w+b") 
file.write request.env["rack.input"].read 
file.close 

這應該節省了wav文件在同一目錄中