SZH*_*SZH 23 javascript jquery mime-types
我想使用jQuery或JavaScript检测应用程序客户端上的文件的MIME类型.有没有办法做到这一点?谢谢.
Del*_*ani 31
您可以使用AJAX,发出HEAD请求,并检查标头的响应标Content-type头.但这只有在您从HTTP服务器获取文件时才有效.
要获取使用HTML文件选择器选择的文件的MIME类型,而不提交任何内容,请尝试:
document.getElementById('fileChooserID').files[0].type // e.g. image/png
Run Code Online (Sandbox Code Playgroud)
例
尝试选择图像,检查MIME类型,然后尝试提交.然后尝试一些不是图像的东西.
可靠地检测mime类型的唯一方法是在服务器端解析文件,以确认它是用户声称的文件类型,或适合允许的类型列表。注意事项:
1-JavaScript有充分的理由限制对本地文件系统的访问。
2-您不能信任从浏览器收到的哑剧类型。它不一定与发送文件的mime类型匹配。
3-在允许用户上传符合允许类型“白名单”的文件的情况下,无论如何都可能需要进行验证-考虑到应用程序可能实际上除了存储文件外还必须对文件做些事情,至少涉及解析其标头以获取信息,例如游程长度(对于视频),版本号(对于Word文档)等。
这个想法不信任浏览器......这个想法是在服务器端执行这个验证但是,如果在将 20MB 文件发送到浏览器之前然后因为服务器中的规则而被拒绝,这是多么有用的事情......所以,如果此文件“是候选”要上传,则“预先检查”是个好主意,最终验证将在服务器中执行。
| 归档时间: |
|
| 查看次数: |
36646 次 |
| 最近记录: |