2012-02-02 38 views
2

我使用jQuery-File-Upload與rails 3,它工作得很好。但是我沒有發現如何在客戶端驗證上傳文件的擴展名或內容類型。jQuery-File-Upload內容類型/擴展驗證

有沒有辦法做到這一點?

因爲我會反過來在server-sid上用Paperclip來驗證它,但我認爲最好在客戶端驗證一次。

回答

1

問題牽連,你(相對多數)實現,當你發現的只是進一步擴展的是,你沒有檢查MIME類型。

在HTML5中,你可以使用接受屬性:(?commaseperated)

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

您可以使用多個值。但是規範說空間分離,但實際上我只看到逗號分隔的值。 注意:在支持HTML5的瀏覽器中添加更多驗證是多餘的。

但如果涉及到其他用途(如拖/放文件上傳)你的問題,那麼你可以使用JavaScript jQuery中代替:

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

不用說的是,你還應該驗證上服務器端。