asp.net – 如何在不依赖其扩展名的情况下检查上传文件的内容?
发布时间:2020-12-16 06:51:08 所属栏目:asp.Net 来源:网络整理
导读:如何在不使用扩展名的情况下可靠地验证上传文件的类型?我猜你必须检查标题/读取一些字节,但我真的不知道如何去做.我使用c#和asp.net. 谢谢你的建议. 好的,所以从上面的链接我现在知道我正在寻找’ff d8 ff e0’来肯定地识别一个.jpg文件. 在我的代码中我可
如何在不使用扩展名的情况下可靠地验证上传文件的类型?我猜你必须检查标题/读取一些字节,但我真的不知道如何去做.我使用c#和asp.net.
谢谢你的建议. 好的,所以从上面的链接我现在知道我正在寻找’ff d8 ff e0’来肯定地识别一个.jpg文件. 在我的代码中我可以读取前20个字节没问题: FileStream fs = File.Open(filePath,FileMode.Open); Byte[] b = new byte[20]; fs.Read(b,20); 所以(请原谅我在这里完全缺乏经验),但如何检查字节数组是否包含’ff d8 ff e0’? 解决方法
以下是对您发布的后续问题的快速反应:
byte[] jpg = new byte[] { 0xFF,0xD8,0xFF,0xE0 }; bool match = true; for (int i = 0; i < jpg.Length; i++) { if (jpg[i] != b[i]) { match = false; break; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何格式化C#代码并将其转换为HTML
- asp.net – IIS 7在一个服务器上引发web.config的“重复部分
- asp.net-mvc – Asp.Net MVC中设计师友好的视图
- asp.net – ‘从服务器收到的重复标题’在Chrome 16中使用E
- asp.net-mvc – 在Azure中预编译ASP.NET MVC项目(不与Web部
- asp.net-mvc – FluentValidation客户端验证
- asp.net – 使用webservices开发DotNetNuke模块
- 如何在IIS上解决接近100%的CPU利用率
- asp.net – 带有服务器端资源字符串的Html输入标记
- asp.net – uk格式的.net 4.0中的日期格式