在不下载整个图像的情况下获取EXIF数据-Python

knu*_*ole 5 python exif client-server image download

仅下载EXIF数据就能远程获取图像的EXIF信息吗?

根据我对图像文件中EXIF字节的了解,EXIF数据位于图像的前几个字节中。

因此,问题是如何使用Python仅下载远程文件的前几个字节?(编辑:仅靠HTTP Range Header不够好,因为并非所有远程主机都支持它,在这种情况下将进行完全下载。)

例如,可以在x字节的进度后取消下载吗?

pli*_*nth 2

这在很大程度上取决于图像格式。例如,如果您有一个 TIFF 文件,则无法预先知道 EXIF 数据(如果有)在文件中的位置。它可能位于标头之后、第一个 IFD 之前,但这不太可能。它可能在图像数据之后。很可能它位于中间的某个地方。

如果您想要 EXIF 信息,请在服务器上提取该信息(也许是缓存),然后将其很好地打包下来,而不是要求客户端代码执行此操作。

  • 你的第二段假设他拥有存储图像的服务器,这可能不一定是这样:)至于EXIF数据位于哪里,如果我理解[这个答案](http://stackoverflow.com/a/8227753/ 1110381)正确地,在 JPG 文件中,EXIF 数据将位于文件的开头周围 - 您知道这是否正确? (5认同)