0
我在我的智慧的結尾在這裏試圖找出我做錯了什麼。我的目標是簡單地將圖像旋轉90度並將更改後的完整圖像保存迴文件系統,然後更新數據庫中的縮略圖版本。文件系統映像被適當地更改,但是當映像保存回數據庫時,它只會保存前28個字符。 SQL報告沒有錯誤。當更新圖像時,二進制數據接縫被截斷
關於我在這裏做錯了什麼的任何想法將非常感激。 在此先感謝。
Image image = Image.FromFile(image_path);
image.RotateFlip(RotateFlipType.Rotate90FlipNone);
image.Save(image_path, System.Drawing.Imaging.ImageFormat.Jpeg);
Byte[] thumbnail = null;
System.Drawing.Image thumb = image.GetThumbnailImage(72, 47,() => false, IntPtr.Zero);
thumbnail = imageToByteArray(thumb);
image.Dispose();
string conn = ConfigurationManager.ConnectionStrings["MY_DATABASE"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(conn);
SqlCommand sqlComm = new SqlCommand();
sqlComm = sqlConn.CreateCommand();
sqlComm.CommandText = @"UPDATE MY_TABLE SET pic='@thumbnail' WHERE pic_id= cast(@pic_id As Int) ";
sqlComm.Parameters.Add("@thumbnail", SqlDbType.Image, thumbnail.Length).Value = thumbnail;
sqlComm.Parameters.Add("@pic_id", SqlDbType.Int);
sqlComm.Parameters["@pic_id"].Value = Convert.ToInt32(pic_id);
try
{
sqlConn.Open();
Int32 rowsAffected = sqlComm.ExecuteNonQuery();
context.Response.Write("rowsAffected:" + rowsAffected + "<br/>");
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
//sqlConn.Open();
//sqlComm.ExecuteNonQuery();
sqlConn.Close();
context.Response.BinaryWrite(thumbnail);
你太棒了 - 非常感謝你! – user2059863 2013-02-11 00:22:11