驗證上傳檔案是否為圖檔
星期四, 七月 31, 2008 | 標籤: ASP.NET | 0 意見 |之前有在處理驗證使用者上傳圖檔的問題..然後加上小舖有人再問..我就把我之前查的資料整理一下傳上來給大家參考..一般來說..驗證圖檔..我們都會去檢查他的副檔名..這是第一個直覺..不要跟我說..開開看就知道了..
..可是使用者如果給你心機改掉副檔名..那不就整組害料料了..所以對付心機重的人有心機點的手法..
..就是去驗證..檔案的前兩個byte[]..這是小舖之前討論的..那來看一下簡單範例ㄅ..
if (FileUpload1.HasFile)
{
byte[] btArr = FileUpload1.FileBytes;
string extentionName = checkfileExtention.validateExtention(btArr);
Response.Write(extentionName);//列印出結果
}
class checkfileExtention
{
public static string validateExtention(byte[] fileUpLoadByte)
{
string extension = string.Empty;
switch (string.Format("{0:X2}{1:X2}", fileUpLoadByte[0], fileUpLoadByte[1]))
{
case "FFD8"://jpg
extension = "jpg";
break;
case "424D"://bmp
extension = "bmp";
break;
case "4749"://gif
extension = "gif";
break;
default:
extension = "none";
break;
}
return extension;
}
}


