2017-08-28 14 views
0

提供されたURLにファイルのファイルタイプを取得します。もしそれがGIFファイルなら、私はそれを知る必要があります。Androidの場合GIFがURLにあるか確認してください

例URL:https://media3.giphy.com/avatars/100soft/WahNEDdlGjRZ.gif(それは常にファイル拡張子を含まなくてもよい)

+0

する必要があります'gif'。ファイルの種類を決定するには、ファイルをダウンロードするか、少なくともInputStreamのヘッダーをダウンロードする必要があります –

答えて

2

URLからInputStreamを取得します。InputStream from a URL

ほとんどのソリューションは、あなたが全体の流れを読んで持ってますが、ので、それは完全に必要はありません最初の3バイトをチェックするだけです。

byte[]に変換しますConvert InputStream to byte array in Java

すべてのGIFファイルは、ヘッダブロックで開始する必要があります。ヘッダーは、ファイルの最初の6バイトを取ります。これらのバイトは、すべてASCII文字コードに対応する必要があります。最初の3バイトは署名と呼ばれます。これらは、常にファイルの拡張子があったとしても、である必要はないです "GIF"(すなわち47 = "G"、49 = "I"、46 = "F")

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

関連する問題