2010-11-23 72 views
0

我想通過支持的文件類型驗證文件上傳,現在我比較ContentType屬性與受支持的文件類型列表,如「text/xml」「application/x- zip壓縮「等。我發現這些字符串只是試圖上傳各種文件並在調試模式下檢查ContentType屬性的值。C#HttpPostedFileBase object.ContentType屬性檢查支持的類型驗證

有沒有辦法避免這種情況?

因爲檢查20種不同文件類型的ContentType屬性是一件很痛苦的事情,並且查找這些文件或創建其他類型的轉換非常麻煩。

解決方案僅通過文件擴展名進行比較?

非常感謝。

回答

1

ContentType是一種非常可靠的比較方式(在服務器端)。

你可以得到不同的MIME類型這裏 http://www.w3schools.com/media/media_mimeref.asp

列表如果要支持特定的文件類型,那麼你就需要將其轉換過的工作,所以什麼是真正的問題?

您只需查看上傳的文件是否是您支持的類型之一。所以,這是你可以存儲在一個HashSet,然後當你接收和上傳文件,只需檢查對HasSet

hashSet.Contains(contentType) 
+0

鏈接列表,不再工作......對於MIME類型犯錯我的意思是媒體類型的http:// www.iana.org/assignments/media-types – 2013-06-04 14:30:36