补充:可以校验jpg格式结束段标记   0xffd9   ,文件最后必然是这两上字节,如果不是说明jpg文件不完整 
但是C#代码怎么写

解决方案 »

  1.   

    以二进制文件打开文件. 读取最后2个字节判断一下.
    或者读取全部,从结尾处开始查找ffd9,找到了就表示OK.
      

  2.   

     public static byte[] BitmapToBytes(Bitmap Bitmap)
            {
                try
                {
                    MemoryStream ms = new MemoryStream();
                    Bitmap.Save(ms, Bitmap.RawFormat);
                    byte[] byteImage = new Byte[ms.Length];
                    byteImage = ms.ToArray();
                    return byteImage;
                }
                finally
                {
                    ms.Close();
                }
            }
     BitmapToBytes(img).Reverse().Take(2);//然后判断是不是217,255
      

  3.   

    见识了真正的高手,你们都能已二进制方式看懂jpg图片
      

  4.   

    四楼思路很好,不过把MemoryStream 换成BinaryStream结果会很正确的,另外,MemoryStream 在异常捕获外面声明,就不会出现局部变量的语法错误。
      

  5.   

    请问一下 出现0xffd9说明图像不完整还是完整啊?我太水了是么?不好意思