读取 JPEG 文件以检索方向信息

Reading JPEG file to retrieve orientation information

我一直在研究从纯 JavaScript 的 JPEG 文件中检索方向信息的方法。

this SO answer 中概述了获取此信息的绝佳方法。本质上,一个人使用 readAsArrayBuffer 读取整个文件,然后处理它以获得所需的信息。

但是,真的有必要读取整个文件来检索 EXIF 信息吗?是否有一种优化方法可以在执行此操作时读取字节的子集?

例如,this SO answer seems to suggest the first 20 bytes are good enough for the job. However, the former answer's 作者自己声称他删除了 slice 语句,因为有时标签会在限制之后进入(他最初将其设置为 64KB,即 reader.readAsArrayBuffer(file.slice(0, 64 * 1024)); )

那么,在编写此类程序时可以使用什么经验法则?或者根本不存在?我想编写性能不会受到用户上传文件大小(以字节为单位)的严重影响的代码。这就是我的目标。

注意:我也尝试使用谷歌搜索此信息,但没有发现任何有意义的信息。

在更有经验的专家插话之前,我已经选择 reader.readAsArrayBuffer(file.slice(0, 128 * 1024));