一: 
   保存问题:用一个FileUpload控件上传一个图片文件,保存操作如下:
        int intUpLength = upImage.PostedFile.ContentLength;//文件内容长度
        byte[] btUpImge = new byte[intUpLength]; //声明二进制数组
        Stream strmUpImge = upImage.PostedFile.InputStream;//文件输入流
        strmUpImge.Read(btUpImge, 0, intUpLength);//把文件二进制流保存到 数组中
然后 数据库中有个字段 image  
直接把二进制数组存到数据库iamge 可不可以? insert Imange(image) values (btUpImage)估计这肯定是错,要把二进制数组内容设为某图片类型的value ,再把value保存进去 估计可以!
------------------------------
以上论点,求证其正确性!二 :
  如果上面正确,但是我不能用DBType来保存:
SqlCommand cmd = new SqlCommand(strSql, conn);
        cmd.Parameters.Add("@FImage", SqlDbType.Image);
        cmd.Parameters["@FImage"].Value = PhotoArray;
因为我的数据库操作都是一个类写的.请问除了上面那种方法,有没有一种方法, 可以把二进制保存到数据库中去?
比如 System.Web.UI.WebControl.Iamge image1;
image1.value = btUpImage[] 等之类,然后把image1存到数据库!?  

解决方案 »

  1.   

    1)必须要以参数的方式才能存入数据库(cmd.Parameters.Add("@FImage", SqlDbType.Image);cmd.Parameters["@FImage"].Value = PhotoArray;

    如果你的数据库操作类不支持,那只能说这个类功能太弱;要么改写它,要么绕过它2)System.Web.UI.WebControl.Iamge image1;
    image1.value = btUpImage[] 等之类,然后把image1存到数据库!?
    ----这最后还是要回到把byte[]传入参数的问题,绕了一圈回到原点
      

  2.   

    to 1使用参数来操作数据库
    insert Imange(image) values (@ImageValue)
      

  3.   

    一: 
    谢谢了  Eddie005(♂) №.零零伍 (♂) ( )如果是的话 ,我只有写存储过程了,类不是我写的,我也没有权利改!
    -------------------------------------------
    二:
    TO  Knight94(愚翁) ( ) 信誉:110    Blog
     insert Imange(image) values (@ImageValue)
    你的意思是不是数据类型可以不定义 
    比如上面 image的vallue  是btUpImge
    就可以 \存到数据库  insert into Image_Table(image) values (btnUpImg)
      

  4.   

    insert Imange(image) values (@ImageValue)
    然后用Command的Parameters来把ImageValue写入value值中。