如何从网页中读取客户端文件头

How to read a client-side file header from a webpage?

本文关键字:客户端 文件 读取 网页      更新时间:2023-09-26

我正在制作一个用于识别某些文件类型的在线工具。我需要从文件头访问一些字节值来做到这一点。

用户选择客户端机器上的文件。不知何故,我需要从文件中获取键字节值,然后在服务器端数据库中查找这些值以对文件进行分类。

如何从客户端文件中读取字节?

我知道我可以让用户将文件上传到服务器,但是这些文件非常大,我只需要几个字节,所以上传整个文件会很慢而且很浪费。

我可以上传一部分文件吗?似乎很难取消html表单上传,并且文件部分在取消后不可用。这是正确的吗?

是否可以在javascript中读取文件?我在谷歌上搜索过这个问题,但答案不清楚。我读到这是可能的java applet,但只有当applet是签名的。

有其他方法吗?

你可以使用html5,但需要退回到flash或其他一些非javascript方法的旧浏览器。

http://www.html5rocks.com/en/tutorials/file/dndfiles/

所以。如上所述,你必须使用非javascript方法。但是每种方法都有负号。FLASH -坏工作与代理。非常糟糕。当然,你可以只使用flash获取base64代码文件,并把它交给js。在这种情况下,这将是伟大的工作。Java Applet -伟大的工作,但不是很多用户有JVM或JVM的版本可能不一样(但如果你将使用JDK1.4或1.5这是没有问题的)。ActiveX -仅在IE和Windows上工作HTML5文件Api -不跨浏览器的解决方案。

当然最好使用服务器端-在PHP中例如getmimetype和其他函数。

但是我可以手动更改我的文件头。例如,我可以从jpeg或png添加到php文件头-你的脚本会认为这是图像。

所以这是一个糟糕的解决方案:使用头文件。对于检查文件类型,可以使用用户信任文件的mime类型,并通过文件扩展名

生成图标。