c# – .NET WebClient.DownloadData获取文件类型?
为了处理从没有文件扩展名的网址下载数据的情况,
我需要知道文件类型是什么. 例如,WebClient.DownloadData方法如何使用下面的url显示它下载了一个png [edit:jpeg]图像? https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTw4P3HxyHR8wumE3lY3TOlGworijj2U2DawhY9wnmcPKnbmGHg 我没有在documentation中找到描述如何执行此操作的任何内容. 解决方法
它不能,直接.
如果您信任Web服务器发回的标头,您可以使用不同的HTTP客户端(例如WebRequest或HttpClient)来使整个响应可用而不仅仅是正文.然后,您可以查看Content-Type标头. 除此之外,您还需要查看内容本身.各种文件类型都有“神奇的数字”,您可以用它们来识别文件 – 它们通常位于文件的开头,如果您只有一组有限的文件类型需要查找,这可能是一种可行的方法.但它无法识别所有文件类型. 例如,您链接到的图像的前四个字节是ff d8 ff e0.这表明实际上它不是jpeg图像.碰巧,服务器响应还包括内容类型的标题:image / jpeg. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |