从C#中的byte []获取内容类型

时间:2016-11-29 19:10:20

标签: c# asp.net-core .net-core

如何从c#中的byte []或Base64String获取内容类型(MIME类型)? (Asp.Net Core)

我的web api正在接收在JSON对象中发送的文件。该文件以Base64String编码。我的第一步是将此base64string转换为字节数组,然后执行验证。其中一个验证是检查它是否是有效文件。为此,我需要检查其内容类型。

private bool validateContent (byte[] content) {
    //Get mime content type from content
}

1 个答案:

答案 0 :(得分:1)

您可以通过检查文件签名(幻数)来完成此操作,例如以HEX或ASCII格式。您可以在https://en.wikipedia.org/wiki/List_of_file_signatureshttp://www.garykessler.net/library/file_sigs.html

找到的签名列表

不要信任请求标头Content-Type,因为它很容易被用户欺骗