加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在ASP.Net Core中验证IFormFile的图像类型

发布时间:2020-12-15 22:42:02 所属栏目:百科 来源:网络整理
导读:我有一个ASP.NET核心应用程序,我需要验证上传的文件是图像而不是具有图像扩展名的非图像文件…. 我发现并且有意义的所有解决方案都使用System.Drawing. Image或ASP.NET Core中不可用的类似类. 你能建议一个替代方案吗? *请注意,我不是要检查扩展名,而是检查
我有一个ASP.NET核心应用程序,我需要验证上传的文件是图像而不是具有图像扩展名的非图像文件….
我发现并且有意义的所有解决方案都使用System.Drawing. Image或ASP.NET Core中不可用的类似类.
你能建议一个替代方案吗?
*请注意,我不是要检查扩展名,而是检查内容.

谢谢

解决方法

现在“System.Drawing.Common”NuGet可用于.NET Core.

您可以执行以下操作来验证“可能”的图像:

using System.Drawing;
// ...
public bool IsImage(byte[] data)
{
  var dataIsImage = false;
  using (var imageReadStream = new MemoryStream(data))
  {
    try
    {
      using (var possibleImage = Image.FromStream(imageReadStream))
      {
      }
      dataIsImage = true;
    }
    // Here you'd figure specific exception to catch. Do not leave like that.
    catch
    {
      dataIsImage = false;
    }
  }

  return dataIsImage;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读