如何从c#中的byte []或Base64String获取内容类型(MIME类型)? (Asp.Net Core)从C#中的字节[]获取内容类型
我的web api正在接收在JSON对象内发送的文件。该文件在Base64String中编码。我的第一步是将这个base64string转换为一个字节数组,然后执行验证。其中一个验证是检查它是否是有效的文件。为此,我需要检查其内容类型。
private bool validateContent (byte[] content) {
//Get mime content type from content
}
很容易被欺骗'内容Type'应作为发送一个头。它不会在数据本身。你的JSON对象是什么样的? –
@DanWilson:我认为他希望从任何以字节形式发送的数据(即,像excel xlsx,xls,图像这样的二进制文件并且不信任客户端发送什么等)获得mimetype,即客户端通常发送压缩文件作为'application/octet-stream',就像一些邮件客户端,它什么都不知道它真的是什么类型) – Tseng
我知道,我说这是不可能从字节流单独的,除非你想扫描文件类型标记在数据,这是不可靠的和容易出错的。 http://stackoverflow.com/questions/1654846/in-c-how-can-i-know-the-file-type-from-a-byte –