检查vb.net中的上传文件

时间:2011-06-30 22:36:02

标签: asp.net xml vb.net

我需要一个片段来检查文件的有效性(我允许用户上传xml文件)。所以我需要检查上传的文件是否是XML。 我能想到的最好的只是检查扩展名是否为“.xml”。如果它被替换了怎么办?

4 个答案:

答案 0 :(得分:3)

您可以尝试像这样加载并捕获异常:

XDocument xdoc = XDocument.Load("data.xml"));

答案 1 :(得分:2)

据推测,如果他们正在上传XML,那么你将在之后使用它。在这种情况下,您应该根据Schema(XSD等)验证XML,以便您知道不会遇到意外的值/布局等。

答案 2 :(得分:0)

在Urlmon.dll中,有一个名为FindMimeFromData的函数。

来自文档

  

MIME类型检测,或“数据   嗅闻,“指的是过程   确定适当的MIME类型   来自二进制数据。最后的结果   取决于组合   服务器提供的MIME类型标头,   文件扩展名和/或数据   本身。通常,只有前256个   数据字节很重要。

因此,从文件中读取第一个(最多)256个字节并将其传递给FindMimeFromData。

答案 3 :(得分:0)

如果必须验证xml(假设您要验证整个事件),可以使用XmlDocument类并捕获异常(如果它不是XML)。