如何放置临时音频文件?

问题描述 投票:0回答:1

我正在尝试复制以前录制的音频,并将其保存到tmp文件夹中。

我的问题是,如何将该文件传递到视图中的audio_tag帮助器?我可以建立临时资产还是类似的东西?

控制器:

  def confirm_audio_legal
    @audio = "#{Constants::TEMP_FOLDER}/#{params[:filename]}"
    render layout: false
  end

查看:

<p>Bla bla bla</p>

<audio src="<%=@audio%>" controls>

<br>

谢谢。

ruby-on-rails-5
1个回答
0
投票

我回应自己。只需添加一个用于发送音频文件的控制器,如下所示:

页面控制器:

  def confirm_audio_legal
    @audio = "tmp_audio/#{params[:filename]}"
    render layout: false
  end

提供文件的控制器:

class AudioSenderController < ActionController::Base

  def send_audio
    # Add some security
    audio = File.open("#{Constants::TEMP_FOLDER}/#{params[:filename]}")
    send_file audio
  end
end

路线:

get 'tmp_audio/:filename', to: 'audio_sender#send_audio'
© www.soinside.com 2019 - 2024. All rights reserved.