jQuery-File-Upload内容类型/扩展validation

我正在使用带有rails 3的jQuery-File-Upload,它运行得很好。 但我没有找到任何关于如何在客户端validation上传文件的扩展名或内容类型的内容。

有没有办法做到这一点?

因为我无论如何都会通过Paperclip在server-sidvalidation它,但我认为在客户端进行一次validation会更好。

acceptFileTypes

允许的文件类型的正则表达式与文件类型或文件名匹配,因为只有支持File API的浏览器才会报告文件类型。

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

请参阅https://github.com/blueimp/jQuery-File-Upload/wiki/Options

这个问题暗示你(与大多数人相反)意识到,当你只检测扩展时,你就不会检查mime类型。

在HTML5中,您可以使用accept属性:

  

您可以使用多个(commaseperated?)值。 但规范说空间分离,但实际上我只看到逗号分隔的值。 介意:在支持HTML5的浏览器中添加更多validation是多余的。

但是如果您的问题与其他用途有关(例如拖放文件上传),那么您可以使用javascript而不是jquery:

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

不用说,你也应该在服务器端进行validation。