【问题标题】:How to check if the uploaded image file is fake using ASP.NET C#? [duplicate]如何使用 ASP.NET C# 检查上传的图像文件是否是假的? [复制]
【发布时间】:2018-03-22 00:08:45
【问题描述】:

我在我的 ASP.NET C# 应用程序上使用 FileUpload 控件,用于上传图像文件,我想检查上传的图像是否损坏。

我的应用程序检查扩展名并且工作正常,但是如果我上传假图像文件(例如保存为图像文件的 txt 文件),服务器会接受它。

简而言之,我的问题是如何防止这种情况发生?

【问题讨论】:

标签: c# asp.net


【解决方案1】:

正如@Isma 评论的那样,定义“破碎”。

但是您可以尝试使用它创建一个新的 System.Drawing.Image。如果您想验证有关它的任何其他内容,请访问它的属性。例如,如果适合您的目的,您可以检查图像是否大于 1 像素。如果在创建时或在您的其他检查期间引发异常,则它(不太可能)是有效图像。

    private static bool CheckImage(string filename)
    {
        try
        {
            using (var image = Image.FromFile(filename))
            {
                if(image.Height<2 && image.Width<2)
                    return false
            }
            return true;
        }
        catch (Exception ex)
        {
            // probably should log more information here
            return false;
        }
    }

【讨论】:

  • 这行兄弟,谢谢
  • private bool GetImageSize(Stream file) { try { System.Drawing.Image img = System.Drawing.Image.FromStream(file);返回真; } 捕捉(异常前){ 返回假;这另一个答案对我有用
猜你喜欢
  • 2017-06-11
  • 1970-01-01
  • 2019-09-04
  • 2017-05-20
  • 2012-11-25
  • 2011-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多