2012-02-02 10 views
2

jQuery-File-Uploadをレール3で使用しています。しかし、クライアント側でアップロードファイルの拡張子やコンテンツタイプを検証する方法については何も見つかりませんでした。jQuery-File-Uploadコンテンツタイプ/拡張子の検証

これを行う方法はありますか?

私はとにかくpaperclipでserver-sidで検証しますが、クライアント側で一度検証する方が良いと思います。

答えて

2

acceptFileTypes

許可されているファイルの種類の正規表現は、どちらかのファイルの種類またはファイル名としてのみファイルAPIレポートファイルの種類をサポートしたブラウザに対して一致しました。

Type: Regular Expression 
Example: /(\.|\/)(gif|jpe?g|png)$/i 

は質問が(反対多数に)あなたはMIMEタイプをチェックしていないことを、あなただけの拡張子を上検出したときことを実現することを含意https://github.com/blueimp/jQuery-File-Upload/wiki/Options

1

参照してください。 HTML5では

あなたは受け入れる属性を使用することができます。

<input type="file" accept="video/*" /> 

あなたが複数(commaseperated?)の値を使用することができます。 しかし、この仕様ではスペースが区切られていますが、実際はカンマ区切りの値しか表示されません。 マインド:HTML5対応ブラウザでは、より多くの検証を追加することは冗長です。

if(!(file.type.indexOf('video/') == 0)) { 
    alert('nope'); 
    return false; 
    } 

言うまでもなく

は、あなたも上で検証する必要があることです。

しかし、場合には、あなたの質問は、(ドラッグ/ドロップによるファイルのアップロードなど)他の使用に関連

は、その後、あなたはjqueryのの代わりにJavaScriptを使用することができますサーバ側。

関連する問題