Android检查网址是否为GIF

问题描述:

我想获取提供的URL上的文件的文件类型。如果它是一个GIF文件,我需要知道这一点。Android检查网址是否为GIF

实例网址:https://media3.giphy.com/avatars/100soft/WahNEDdlGjRZ.gif(它可能并不总是包括文件扩展名)

+0

即使有文件扩展名,它是不被需要'gif'。您必须下载该文件或至少InputStream的某个头文件来确定文件类型 –

从URL获取InputStream的:InputStream from a URL

大多数解决方案将有你在阅读整个流,但是这不是完全必要的,因为你只需要检查前三个字节。

将其转换为byte[]Convert InputStream to byte array in Java

的GIF文件必须用头块开始。头文件占用文件的前六个字节。这些字节应该全部对应于ASCII字符代码。前三个字节称为签名。这些应始终是 “GIF”(即47 = “G”,49 = “I”,46 = “F”)

http://giflib.sourceforge.net/whatsinagif/bits_and_bytes.html