使用C插入图像到SQL Server 2008表#
我试图将一个新产品插入到product表中,其中一列是图像。这是我的代码:使用C插入图像到SQL Server 2008表#
private void pictureBox1_Click(object sender, EventArgs e) { 
     OpenFileDialog dlg = new OpenFileDialog(); 
     dlg.Title = "Open Image"; 
     dlg.Filter = "bmp files (*.bmp)|*.bmp"; 
     if (dlg.ShowDialog() == DialogResult.OK) 
     { 
      pictureBox1.Image = Image.FromFile(dlg.FileName); 
      ImageToByte(pictureBox1.Image); 
     } 
     dlg.Dispose(); 
    } 
    public static byte[] ImageToByte(Image img) 
    { 
     ImageConverter converter = new ImageConverter(); 
     return (byte[])converter.ConvertTo(img, typeof(byte[])); 
    } 
我得到这个错误:
未能参数值从位图转换为一个byte []。
我该如何解决?
感谢
回答:
图像保存到内存流,然后将其转换为字节数组:
private byte[] ImageToByte(System.Drawing.Image imageToConvert,                 System.Drawing.Imaging.ImageFormat formatOfImage) 
      { 
       byte[] Ret; 
       try 
       { 
        using (MemoryStream ms = new MemoryStream()) 
        { 
         imageToConvert.Save(ms, formatOfImage); 
         Ret = ms.ToArray(); 
        } 
       } 
       catch (Exception) { throw; } 
       return Ret; 
      } 
用法示例为位图你的情况
ImageToByte([your image here], System.Drawing.Imaging.ImageFormat.Bmp); 回答:
你可以做它通过以下方式:
public static byte[] ToByteArray(this Image image, ImageFormat format) { 
    using(MemoryStream ms = new MemoryStream()) 
    { 
     image.Save(ms, format); 
     return ms.ToArray(); 
    } 
} 
并使用此:
var image = yourImageFromPictureBox; byte[] arr = image.ToByteArray(ImageFormat.Bmp); 
以上是 使用C插入图像到SQL Server 2008表# 的全部内容, 来源链接: utcz.com/qa/258739.html

