2012-02-02 79 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; 
    } 

不用说的是,你还应该验证上服务器端。