我使用jQuery-File-Upload与rails 3,它工作得很好。但是我没有发现如何在客户端验证上传文件的扩展名或内容类型。jQuery-File-Upload内容类型/扩展验证
有没有办法做到这一点?
因为我会反过来在server-sid上用Paperclip来验证它,但我认为最好在客户端验证一次。
我使用jQuery-File-Upload与rails 3,它工作得很好。但是我没有发现如何在客户端验证上传文件的扩展名或内容类型。jQuery-File-Upload内容类型/扩展验证
有没有办法做到这一点?
因为我会反过来在server-sid上用Paperclip来验证它,但我认为最好在客户端验证一次。
acceptFileTypes
为允许的文件类型的正则表达式,对任一文件类型或文件名只与文件API报告的文件类型支持浏览器相匹配。
Type: Regular Expression
Example: /(\.|\/)(gif|jpe?g|png)$/i
问题牵连,你(相对多数)实现,当你发现的只是进一步扩展的是,你没有检查MIME类型。
在HTML5中,你可以使用接受属性:(?commaseperated)
<input type="file" accept="video/*" />
您可以使用多个值。但是规范说空间分离,但实际上我只看到逗号分隔的值。 注意:在支持HTML5的浏览器中添加更多验证是多余的。
但如果涉及到其他用途(如拖/放文件上传)你的问题,那么你可以使用JavaScript jQuery中代替:
if(!(file.type.indexOf('video/') == 0)) {
alert('nope');
return false;
}
不用说的是,你还应该验证上服务器端。