使用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

回到顶部