无法使用 Rails 将音频文件上传到 Cloudinary

Posted

技术标签:

【中文标题】无法使用 Rails 将音频文件上传到 Cloudinary【英文标题】:Can't upload audio file to Cloudinary using Rails 【发布时间】:2018-04-08 12:18:42 【问题描述】:

我正在尝试将音频文件添加到 Cloudinary 存储。我被卡住了 错误显示:

CloudinaryException (Invalid resource type audio): app/controllers/musics_controller.rb:23:in `create'

我在我的 Music.rb 文件中添加了来自堆栈溢出的另一个帮助的配置:

has_attached_file :song, :storage => :cloudinary, path: 'muvent/musics/:filename', :cloudinary_resource_type => :audio
validates_with AttachmentSizeValidator, attributes: :song, less_than: 10.megabytes
validates_attachment_content_type :song, :content_type => [ 'application/octet-stream', 'audio/mpeg', 'audio/x-mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/mpeg3', 'audio/x-mpeg3', 'audio/mpg', 'audio/x-mpg', 'audio/x-mpegaudio' ]

但是,我仍然无法将文件上传到 Cloudinary。我还在我的控制器 music_params 中添加了歌曲列的许可,错误出现了。我该如何解决这个问题?

更新

我已经修复了上面的错误。但是为什么日志服务器中的另一个错误在rails中显示file -b --mime?我在这里使用的 Gemfile 回形针和回形针-cloudinary。

【问题讨论】:

【参考方案1】:

请确保根据文件类型使用正确的resource_type(Cloudinary 参数)。默认资源类型为image。上传音视频文件时设置为video,上传非媒体文件(如doc、csv、css、js等)时设置为raw

【讨论】:

以上是关于无法使用 Rails 将音频文件上传到 Cloudinary的主要内容,如果未能解决你的问题,请参考以下文章

我无法将大 (> 2GB) 文件上传到 Google Cloud Storage 网络用户界面

如何将音频(3gp)文件上传到 Firebase 存储?

使用 ruby​​/rails 将文件上传到网站

将音频文件保存在 Rails 中

Rails 6,无法将 s3_direct_upload gem 上传到 UPLOAD,查看工作正常

将文件夹参数添加到 Rails 简单表单上传