正在验证base64编码的映像.NET核心

本文关键字:映像 NET 核心 编码 验证 base64 | 更新日期: 2023-09-27 17:59:50

我正在构建一个API,它允许用户更改他们的照片。这张照片是以base64字符串的形式发送的,我希望能够验证它是实际的.jpeg或.png格式。由于.NET核心中缺少System.Drawing,我不知道该怎么做。以前我可以简单地使用之类的东西

public Image Base64ToImage(string base64String)
 {
    // Convert base 64 string to byte[]
    byte[] imageBytes = Convert.FromBase64String(base64String);
    // Convert byte[] to Image
    using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
    {
        Image image = Image.FromStream(ms, true);
        return image;
    }
 }

然后从那里去检查我对图像的需求。

如有任何帮助,将不胜感激

正在验证base64编码的映像.NET核心

如果没有System.Drawing,我会查看实际的字节,看看它们是否符合JPEG或PNG文件标准。

对于PNG文件,前八个字节始终包含以下十进制值:137 80 78 71 13 10 26 10(源)

JPEG文件比较复杂,但也可以这样做。至少前两个字节似乎总是0xFF 0xD8(Source)。阅读更多关于文件结构的信息,以获得更好的比较值。

基于此,您可以对imageBytes数组中的字节进行简单比较。