2012-10-31 110 views
0

我已經嘗試了以下代碼,用於從數據庫加載圖片框中的圖像。但每次,我收到一個錯誤,如'​​'。從數據庫中將圖像加載到圖片框中

buttonSave() 
      { 
       ....... 
       ....... 
       img = Image.FromFile(strFileName); 
       byte[] byteImg = ImageToByteArray(img); 
       objEmp.Picture = byteImg; 
       ....... 
       ....... 
      } 

public byte[] ImageToByteArray(Image img) 
     { 
      System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
      img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
      return ms.ToArray(); 
     } 

Display() 
     { 
      ....... 
      ....... 
      Byte[] bytePicData = (Byte[])dt.Rows[0]["PICTURE"];     
      MemoryStream stmPicData = new MemoryStream(bytePicData); 
      PicBox.Image = Bitmap.FromStream(stmPicData);} 
      ....... 
      ....... 
     } 

回答

1

圖像已損壞。錯誤來自FromStream方法。你可以寫入磁盤,看看你是否可以在圖像視圖中打開它。如果沒有,那麼請檢查你在哪裏將其插入數據庫

Byte[] bytePicData = (Byte[])dt.Rows[0]["PICTURE"]; 
// Save 
File.WriteAllBytes("out.bmp", bytePicData); 

MemoryStream stmPicData = new MemoryStream(bytePicData); 
PicBox.Image = BitMap.FromStream(stmPicData); 
+0

gettng相同的錯誤代碼.... –

+0

File.WriteAllBytes(「out.bmp」,bytePicData);聲明還添加 –

+0

您可以在mspaint或其他圖像查看器中打開out.bmp嗎?它可能是圖像被錯誤地保存到數據庫。你的代碼在這裏看起來不錯 – AbdElRaheim

相關問題