Asp.net 在vb.net中检查上载的文件
我需要一个片段来检查文件的有效性(我允许用户上传xml文件)。所以我需要检查上传的文件是否是XML。Asp.net 在vb.net中检查上载的文件,asp.net,xml,vb.net,Asp.net,Xml,Vb.net,我需要一个片段来检查文件的有效性(我允许用户上传xml文件)。所以我需要检查上传的文件是否是XML。 我能想到的最好办法就是检查扩展名是否为“.xml”。如果它被替换了怎么办?在Urlmon.dll中,有一个名为findmemefromdata的函数 从文件中 MIME类型检测,或“数据” “嗅探”指的是 确定适当的MIME类型 从二进制数据。最终结果 取决于以下因素的组合: 服务器提供的MIME类型头, 文件扩展名和/或数据 它本身通常,只有前256个 字节的数据是重要的 因此,从文件中读取第
我能想到的最好办法就是检查扩展名是否为“.xml”。如果它被替换了怎么办?在Urlmon.dll中,有一个名为findmemefromdata的函数 从文件中 MIME类型检测,或“数据” “嗅探”指的是 确定适当的MIME类型 从二进制数据。最终结果 取决于以下因素的组合: 服务器提供的MIME类型头, 文件扩展名和/或数据 它本身通常,只有前256个 字节的数据是重要的
因此,从文件中读取第一个(最多)256字节,并将其传递给FindMimeFromData。在Urlmon.dll中,有一个名为FindMimeFromData的函数 从文件中 MIME类型检测,或“数据” “嗅探”指的是 确定适当的MIME类型 从二进制数据。最终结果 取决于以下因素的组合: 服务器提供的MIME类型头, 文件扩展名和/或数据 它本身通常,只有前256个 字节的数据是重要的
因此,从文件中读取第一个(最多)256字节并将其传递给FindMimeFromData。您可以尝试这样加载它并捕获异常:
XDocument xdoc = XDocument.Load("data.xml"));
您可以尝试这样加载它并捕获异常:
XDocument xdoc = XDocument.Load("data.xml"));
如果必须验证xml(假设要验证整个内容),则可以使用
XmlDocument
类捕获异常(如果不是xml)。如果必须验证xml(假设要验证整个内容)您可以使用XmlDocument
类并捕获一个异常(如果它不是XML)。假设,如果他们正在上载XML,那么您将在以后使用它进行某些操作。在这种情况下,您应该根据模式(XSD等)验证XML,这样您就知道不会遇到意外的值/布局等。假设,如果他们正在上载XML,那么您将在以后使用它。在这种情况下,您应该根据模式(XSD等)验证XML,这样您就知道不会遇到意外的值/布局等。因为可能是黑客或恶意用户在搜索漏洞,您可能不想只回答文件扩展名:)是的,唯一可以检查文件扩展名的情况是,应用程序只是将文件作为服务存储给用户。。而不是自己消费。然后检查文件扩展名将是一种简单的UI方式,可以说“嘿,那不是XML文件。”。。但这里的应用程序似乎不是这样的。感谢您指出这一点。因为可能是黑客或恶意用户在搜索漏洞,您可能不想只回答文件扩展名:)是的,唯一可以检查文件扩展名的情况是,应用程序只是将文件作为服务存储给用户。。而不是自己消费。然后检查文件扩展名将是一种简单的UI方式,可以说“嘿,那不是XML文件。”。。但这里的应用程序似乎不是这样的。谢谢你指出这一点。