products pro = new products();//引用products类//上传图片
if (uploadFile.PostedFile.FileName != "")
            {                   
                //----------- update图片
                
                 .......
               .....
                //下面是传图片
                  Stream imagedatastream;
                imagedatastream = Request.Files["uploadFile"].InputStream;
                int imagedatalen = Request.Files["uploadFile"].ContentLength;
                string imagedatatype = Request.Files["uploadFile"].ContentType;                byte[] image = new byte[imagedatalen];
                imagedatastream.Read(image, 0, imagedatalen);
                 pro.proimage = image;
                 pro.product_add();
           }
product_add方法:public Image proimage;//申明proimagepublic bool product_add()
        {
            SqlParameter[] Params = new SqlParameter[18];
            
              
            Params[17] = db.MakeInParam("@ProductPicture", SqlDbType.Image, 1000, proimage);
            int count = -1;
            count = db.RunProc("product_add", Params);//执行product_add存储过程
            if (count > 0)
                return true;
            else return false;
        }
编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0029: 无法将类型“byte[]”隐式转换为“System.Web.UI.WebControls.Image”
源错误: 行 283:                //Bitmap bm = (Bitmap)Image.FromStream(ms);
行 284:
行 285:                pro.proimage = image;行 286:
行 287:
 源文件: e:\www\njut_c2c\product_add.aspx.cs    行: 285 显示详细的编译器输出:
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE> "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\assembly\dl3\520c0345\001b4bea_73e0c701\FredCK.FCKeditorV2.DLL" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Code.6dkny_u-.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\assembly\dl3\421b2272\00ec3307_53fac501\Microsoft.Web.UI.WebControls.DLL" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Design\2.0.0.0__b03f5f7f11d50a3a\System.Design.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_6btnn1v4.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.dll" /D:DEBUG /debug+ /optimize- /win32res:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\sjbfnvn7.res" /w:4 /nowarn:1659;1699  "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.4.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.17.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.1.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.10.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.19.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.2.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.8.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.12.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.14.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.5.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.7.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.6.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.11.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.0.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.3.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.9.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.13.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.18.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.16.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.20.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\njut_c2c\00c74ea8\76daac43\App_Web_sjbfnvn7.15.cs"
Microsoft (R) Visual C# 2005 编译器 版本 8.00.50727.42
用于 Microsoft (R) Windows (R) 2005 Framework 版本 2.0.50727
版权所有 (C) Microsoft Corporation 2001-2005。保留所有权利。e:\www\njut_c2c\Order_Detail.aspx.cs(13,7): warning CS0105: “System.Data.SqlClient”的 using 指令以前在此命名空间中出现过
e:\www\njut_c2c\product_add.aspx.cs(285,32): error CS0029: 无法将类型“byte[]”隐式转换为“System.Web.UI.WebControls.Image” 

解决方案 »

  1.   

    较早前,Insus.NET曾回复一个网友的问题,似乎有点相似,请参考:http://topic.csdn.net/u/20071216/10/1dc52acf-e7ef-4267-ae78-a085de2b41d4.html另外下帖是Insus.NET录制的影片,是Image以二制制上传至sql中,并如何把二制的Image显示于网页上的影片,请参考:
    http://download.csdn.net/source/323966
      

  2.   

    public   Image   proimage;和 SqlDbType.Image应该不是一回事吧. Image是控件,不是数据类型. SqlDbType.Image直接对应成byte[]试试
      

  3.   

    类型不一致
    如果你用的是FileUpload控件可以判断它的HasFile属性 来知道是否有文件.
    还需要判断扩展名为图片格式
      

  4.   

    你可能需要把pro.proimage定义成Byte[]类型的,而不是System.Web.UI.WebControls.Image,这是个控件类。
      

  5.   

    pro.proimage定义成Byte[]类型的话,下面Params[17] = db.MakeInParam("@ProductPicture", SqlDbType.Image, 1000, proimage);这两怎么写呢?
      

  6.   

    不行的呀SOS
      

  7.   

    byte[] s = new byte[10];
    SqlParameter ss = new SqlParameter("aa", s);或者byte[] s = new byte[10];
    SqlParameter ss = new SqlParameter("aa",SqlDbType.Image);
    ss.Value = s;都是合法的呀, 是不是 db.MakeInParam函数缺少对应的参数重载?
      

  8.   

    问题解决拉
    public   Image   proimage;//申明proimage 
    ===》public byte[] proimage;
    这样就好了!原来是类型搞错了!可是Params[17]   =   db.MakeInParam("@ProductPicture",   SqlDbType.Image,   1000,   proimage); 
    这里面的大小怎么确定啊?