ruby-on-rails - 使用carrierwave-video 上传.MOV 文件?
问题描述
问题:我无法通过 Carrierwave 上传 .mov 文件。
我对上传图像和视频的载波没有问题 - .mp4 文件。当我尝试上传 .mov 文件时,上传失败。我假设 .mp4 以外的任何东西都不起作用。
任何人都使用 Carrierwave-video gem 并且能够上传 .mov 文件格式?
我的载波宝石:
gem 'carrierwave', '~> 1.0'
gem 'carrierwave-aws'
gem 'carrierwave-ffmpeg'
gem 'carrierwave-video'
gem 'mini_magick', '~> 4.8'
我尝试使用:
version :mp4 do
process encode_video: [:mp4]
end
version :mov do
process encode_video: [:mov]
end
在我的上传器中,在之前有和没有 if 语句version...
但不起作用。使用任何一个,我都无法上传mov
或mp4
默认情况下,我的上传器中有:
process encode_video: [:mp4]
这使我可以仅将 .mp4 文件成功上传到aws
当我做:
process encode_video: [:mov]
尝试mp4
或时出现错误mov
:
NoMethodError (undefined method `+' for nil:NilClass):
列入白名单:
def extension_whitelist
%w(jpg jpeg gif png mov mp4 mov avi mkv 3gp mpg mpeg)
end
我还尝试简单地将 .mov 文件更改为 .mp4 并且没有用。
这里有人成功上传mov文件吗?
我担心,因为我知道 iPhone 以 .mov 格式输出大多数视频文件,所以允许这种格式非常重要。
错误:
When trying to upload mov file i do get this success in the prompt:
I, [2019-01-20T02:47:51.127532 #3483] INFO -- : Transcoding of /home/bob/Apps/app-file-master/tmp/1547970464-3483-0025-9410/samplemov.mov to /home/bob/Apps/uploader-twitter-master/tmp/1547970464-3483-0025-9410/tmpfile.mp4 succeeded
但随后上传失败并且不会保存到数据库或 AWS 中。在我的应用程序中根本没有。我检查了它说它成功进入的文件。
解决方案
您需要在其配置文件中将“.mov”添加到carrierwave的扩展白名单中。
推荐阅读
- c++ - 使用 OpenCL 进行图像卷积中的参数大小无效
- c++ - 当 json 值应为 INT 但以字符串类型发送时,rapidjson 崩溃
- java - 如何在运行基于 Spring Cloud Function 的 AWS Lambda 时解决空指针异常
- flutter - 将 Json 解析为 Flutter 中的对象列表的正确方法
- google-cloud-dlp - 关于 Google Cloud dlpJob 命名:默认情况下是否会在 dlpJob 的 jobId 中添加“i-”前缀?
- solr - Solr - 从开始日期和结束日期计算持续时间
- flutter - 添加 admob 依赖项会使我的应用程序崩溃
- ruby-on-rails - gem 模块方法不能包含到 ActiveRecord::Base
- ios - 使用 Xamarin 表单播放音频失败并出现错误:NRDAudioClient 不是为 iOS 模拟器构建的
- reactjs - “链接”没有导航到指定的路线 - React JS (react-route-dom)