How to detect file type loaded from device local storage

Basically I am loading profile picture from Gallery section of android/iPhone devices. So game player may select any image format. So at server upload time, I need to specify which format image, player has selected. Basically from local storage loading, I am using this way:

        selectedImagePath.Replace(" ","%20");
		WWW localFile = new WWW ("file://" + selectedImagePath);

		yield return localFile;

		if (localFile.error == null)
			Debug.Log ("Loaded file successfully");
		else 
			Debug.Log ("Open file error: " + localFile.error);

So which way I need to detect file type as png/jpg/gif?
Please give me some help in this.

Assuming you don’t trust or don’t have access to the file extension, you can look at the image’s [magic number][1].

private bool CheckMagicNumber(byte [] bytes, byte [] magic)
{
	bool match = true;
	for (int i = 0; i < magic.Length && match; i++)
		match = match && magic _== bytes*;*_

* return match;*
}
and then…
selectedImagePath.Replace(" ", “%20”);
WWW localFile = new WWW(“file://” + selectedImagePath);

yield return localFile;

byte[] PNG = { 0x89, 0x50, 0x4E, 0x47 };
byte[] JPG = { 0xFF, 0xD8 };
byte[] GIF = { 0x47, 0x49, 0x46, 0x38 };

if (localFile.error == null)
{
* Debug.Log(“Loaded file successfully”);*
* if (CheckMagicNumber(localFile.bytes, PNG))*
* Debug.Log(“It’s a PNG!”);*
* else if (CheckMagicNumber(localFile.bytes, JPG))*
* Debug.Log(“It’s a JPG!”);*
* else if (CheckMagicNumber(localFile.bytes, GIF))*
* Debug.Log(“It’s a GIF!”);*
}
else
* Debug.Log("Open file error: " + localFile.error);*
_*[1]: https://asecuritysite.com/forensics/magic*_