我正在上传一个audiofile并制作一个有效的mp3版本。另外,我正在从mp3生成一个波形作为“png”。这也很好。
图像已生成并保存,但后缀为“mp3”,应为“png”。 该视图使用“mp3”文件扩展名称正确呈现图像。
现在,当视图尝试获取图像时,我收到404错误。文件名未正确设置:
https://mybucket.amazonaws.com/uploads/sound/soundfile/142/waveform_Sky_02.wav
应该是
https://mybucket.amazonaws.com/uploads/sound/soundfile/142/waveform.png
这是我的:版本代码:
version :waveform do
def filename
"watermark.png" if original_filename.present?
end
def convert_to_waveform
cache_stored_file! if !cached?
Dir::Tmpname.create(File.basename(current_path)) do |tempname|
begin
puts system %Q{ffmpeg -y -i "#{current_path}" -f wav "#{tempname}" > /dev/null 2>&1}
FileUtils.rm current_path
Waveform.generate(tempname, current_path, method: :rms, background_color: :transparent)
ensure
FileUtils.rm tempname
end
end
end
process :convert_to_waveform
end
数据库保存“waveform_Sky_02.wav”
我怎样才能使这个工作?
答案 0 :(得分:0)
这对我有用:
def full_filename(for_file=file)
super.chomp('wav') + '.png'
end
或所有文件类型:
def full_filename(for_file=file)
super.chomp(File.extname(super)) + '.png'
end