ユーザーがビデオをアップロードできるRailsアプリがあります(クラウドではなくローカルサーバーに)。
Paperclip 3.1.4 と Paperclip-ffmpeg 0.9.0 を使用しています。
すべてが正常に動作していますが、問題は、ユーザーがファイルを間違った形式でアップロードした場合、または検証ルールで許可されているサイズを超えている場合、アップロードが行われるまでエラー メッセージが表示されないことです。特に間違った形式のファイルをアップロードするのに 10 分かかる場合は、使いやすさに優れています。
それで、たとえば、jQuery(ほとんど知らないことを認めます)をモデルに統合して、ユーザーが「アップロード」ボタンを押すとすぐにファイルをチェックできるようにする方法はありますか?アプリがファイルをアップロードしようとするまで待っていますか (それが理にかなっている場合)?
これが私のモデルのコードです(重要でないものを取り除きました):
class Video
attr_accessible :sourcefile
has_attached_file :sourcefile
...
validates_attachment_size :sourcefile, :less_than => 250.megabytes,
:message => "Sorry, your video is too large"
validates_attachment_content_type :sourcefile, :content_type => [...],
:message => "Sorry, the file format is wrong"
end
それで、ファイルがアップロードされる前に何らかの形式のJavaScriptをトリガーしてファイルをチェックする機能を「追加」する方法はありますか?これらの検証ルールは有効になります(ユーザーがブラウザで JavaScript が無効になっていますか?)
ファイルの種類が正しい場合に jQuery 風の進行状況バーをトリガーするために使用できる別の関数があれば良いのですが、この段階では必ずしも必要ではありません。
ありがとう!
編集 -以下の Kevin B に感謝します。彼は、jQuery/JavaScript を使用してファイル サイズを確認することはできません。しかたがない!私が取ることができる他のアプローチはありますか?サーバーはnginxを実行していますが、私はそこに行きたくありません.Railsコード自体で問題に対処したいと思っています.