2010-03-14 61 views
5

目前的延長我得到的文件的文件擴展名,如:獲得在FileUpload控件文件

string fileExt = System.IO.Path.GetExtension(filUpload.FileName); 

但是如果用戶更改文件的文件擴展名(例如用戶可以重命名「的考驗。 txt「改爲」test.jpg「),我無法得到真正的擴展。什麼是解決方案?

回答

5

你似乎會問,如果你可以從它的內容識別文件類型。

大多數解決方案確實會嘗試文件擴展名,但可以識別的文件類型太多。

大多數方法使用文件的前幾個字節來確定它們是什麼。

Here是一個列表here另一個列表。

如果您只是擔心文本與二進制文件,請參閱this SO問題和答案。

請參閱this SO回答用於檢查文件是否爲JPG - 此方法可以擴展爲使用其他文件標題,如本答案中的前兩個鏈接。

1

沒有辦法獲得'真正的'文件擴展名 - 從文件名獲得的文件擴展名是真正的文件擴展名。如果您關心文件內容,則可以使用.ContentType屬性檢索內容類型,並驗證它是否是您期望的內容類型 - 例如。 image/jpg

相關問題