video_uploader.rbAusgabe mit Carrierwave_Direct + Rails
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWaveDirect::Uploader
alias_method :extension_white_list, :extension_whitelist
def will_include_content_type
true
end
default_content_type 'video/mp4'
allowed_content_types %w(video/mpeg video/mp4 video/ogg)
end
Model.rb
class Video < ActiveRecord::Base
mount_uploader :videosub, VideoUploader
end
Parameter:
"videosub"=>#<ActionDispatch::Http::UploadedFile:0x007f87201e28 @tempfile=#<Tempfile:/tmp/RackMultipart20170509-4704-1mjrwq.mp4>, @original_filename="168C7704-4337-A870-007B2CB22519.mp4", @content_type="video/mp4
Fehler zeigt, ist:
Validation failed: Videosub is invalid.
Und wenn ich den Code in VideoUploader wie ersetzen:
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWaveDirect::Uploader
alias_method :extension_white_list, :extension_whitelist
storage :fog
end
Dann wird die Datei erfolgreich S3 hochgeladen werden wird. Aber in meinem Fall muss ich das Video im Hintergrund und direkt auf S3 hochladen, indem ich den Server überspringe, auf dem die App gehostet wird.
Bitte helfen!