如何在上传前用JavaScript检查文件的MIME类型?

33 浏览
0 Comments

如何在上传前用JavaScript检查文件的MIME类型?

我读了这个问题和这个问题,它们似乎表明可以使用JavaScript在客户端检查文件的MIME类型。现在,我知道真正的验证仍然必须在服务器端进行。我想进行客户端检查以避免不必要地浪费服务器资源。

为了测试是否可以在客户端完成此操作,我将一个JPEG测试文件的扩展名更改为.png,并选择该文件进行上传。在发送文件之前,我使用JavaScript控制台查询文件对象:

document.getElementsByTagName('input')[0].files[0];

在Chrome 28.0上,我得到以下结果:

File {webkitRelativePath: "", lastModifiedDate: Tue Oct 16 2012

10:00:00 GMT+0000 (UTC), name: "test.png", type: "image/png", size:

500055…}

它显示类型为image/png,这似乎表明检查是基于文件扩展名而不是MIME类型进行的。我尝试了Firefox 22.0,它给我相同的结果。但根据W3C规范和MIME嗅探,应该实现MIME嗅探。

我是否正确地说,目前没有办法使用JavaScript检查MIME类型?或者我漏掉了什么?

0