1
我已經編寫了一個程序,在該程序上我從數據庫SQL Server 2008 R2
上傳和下載圖像。 我用下面的代碼上傳圖片:當我從sql server 2008 r2中檢索圖像時,圖像是黑色的
SqlParameter picparameter = new SqlParameter();
picparameter.SqlDbType = System.Data.SqlDbType.Image;
picparameter.ParameterName = "value";
picparameter.Value = val;//val is a byte array
SqlCommand sqlcommand = new SqlCommand("update " + table + " set " + col + " = @value "+" where "+where, sqlconnection);
sqlcommand.Parameters.Add(picparameter);
sqlcommand.ExecuteNonQuery();
我轉換圖像從PictureBox
以下陣列使用代碼:
public static byte[] ImageToByteArray(System.Drawing.Image img)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
Bitmap b = new Bitmap(img);
b.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
然後我從數據庫中使用下面的代碼下載圖像的硬盤
Byte[] data = new Byte[0];
data = (Byte[])(imageReader["image"]);
MemoryStream mem = new MemoryStream(data);
Image.FromStream(mem).Save(Application.StartupPath + "\\Temp\\img\\" +imageReader["code"].ToString() + ".png",
System.Drawing.Imaging.ImageFormat.Png);
但是,我有一個很大的問題圖像背景使黑色從數據庫保存到硬盤後。
您正在保存爲jpeg,但以png加載。那是故意的嗎? – bryanmac