解决方案 »

  1.   

    强制为byte[]? 相关代码呢?
      

  2.   

    你读出的是varbinary(max)字符串的长度吧,看看字段写成字符串了吧!
      

  3.   


     FileStream stream = (FileStream)openFileDialog.File.OpenRead();
                    bytes = new byte[stream.Length];
                    stream.Read(bytes, 0, bytes.Length); 
    这是上传到数据库前,把文件转为byte[],下载的时候读取数据库的这一个字段
    bytes = (byte[])comm.ExecuteScalar();           
      这里的bytes得到的结果全是13长度,然后我完整保存发现保存的内容是 System.Byte[]保存的时候用的这个
    using (Stream stream = saveFileDialog.OpenFile())
                    {
                        stream.Write(bytes, 0, bytes.Length);
                        stream.Close();
                    }
      

  4.   


    我保存的时候用了convert将上传的byte[]转换为varbinary了呀,是不是有什么不对呀
      

  5.   

    stream.Length 用的不对, 你检查数据库,应该是写入时就错了。这样:
    bytes = File.ReadAllBytes(FileName);
      

  6.   

    不行啊
    bytes = File.ReadAllBytes(openFileDialog.File.FullName);
    bytes = File.ReadAllBytes(openFileDialog.File.Name);,用管理员权限打开的VS也是提示,拒绝访问的路径额