Alv*_*vis 10 .net c# mime mime-types
为什么Urlmon.dll中的FindMimeFromData函数会为许多文件类型返回MIME类型"application/octet-stream",而通过文件扩展名(即针对Windows注册表)检查MIME类型会返回更精确的类型?
例如,mp3是"application/octet-stream"而不是"audio/mp3".
基本上,我想验证上传的文件扩展名不正确.这种方法似乎适用于许多图像文件,xml等.
问题与此类似,但由于返回的MIME类型不同/不明确,所提供的解决方案不适合验证上传的文件.
阅读FindMimeFromData的文档会引导我进入Internet Explorer中的MIME类型检测.根据该信息,它被硬编码以找到26种不同的MIME类型,这在当今世界中非常小."audio/mp3"不是其中之一.
FindMimeFromData 包含(当前为26个)单独MIME类型的硬编码测试(请参阅已知的MIME类型).这意味着如果给定的缓冲区包含其中一种MIME类型的数据,则FindMimeFromData中存在一个测试(通过扫描缓冲区内容)以识别相应的MIME类型.如果MIME类型是这N种MIME类型之一,则称其为MIME类型.如果MIME类型是"text/plain","application/octet-stream",空字符串或null(即服务器未能提供它),则MIME类型不明确.
不幸的是,它似乎FindMimeFromData对确定现代MIME类型不是很有用.
| 归档时间: |
|
| 查看次数: |
11421 次 |
| 最近记录: |