请问C#如何判断上传图片的真实性?也是判断图片他的二进制代码我现在做的只是判断后缀名,这样太危险了。

解决方案 »

  1.   

    简单的办法,把下面这两句放在try catch块里面,如果发生异常,则非真实图片
    System.Drawing.Image upImage = System.Drawing.Image.FromStream(File1.PostedFile.InputStream);
    Bitmap bm = new Bitmap(upImage);
      

  2.   

    得到的Bitmap对象还可以处理一下,比如加个水印,保存处理过的图片,这样就绝对不会有问题了~
      

  3.   

    呵呵` `谢谢楼上,现在可以,如果这部没做的话,那用户可以随便上传什么木马文件,
    但是我不怎么明白
    System.Drawing.Image upImage = System.Drawing.Image.FromStream(File1.PostedFile.InputStream);这句意思