2012-10-09 158 views
0

当前我正在使用asp.net and c#将图像存储到MySql(使用blob数据类型)。我成功地将其存储到数据库中,但现在的问题是how can i retrieve that byte[] to image format ?使用c将字节转换为图像&图像到字节#

功能:code to convert byte[] to image

public Image byteArrayToImage(byte[] byteArrayIn) 
    { 
     MemoryStream ms = new MemoryStream(byteArrayIn); 
     Image returnImage = Image.FromStream(ms); --> here gives me error as `parameter is not valid` 
     return returnImage; 

    } 

retieved如数据表...

if (dt1.Rows.Count > 0) 
     { 
      byteArrayToImage((byte[]) dt1.Rows[0]["PortfolioSlideImages"]); 
      //MemoryStream ms = new MemoryStream((byte[])dt1.Rows[0]["PortfolioSlideImages"]); 
      //Image returnImage = Image.FromStream(ms); 
      //return returnImage; 
     } 

回答

4

试试这个功能,

public Image byteArrayToImage(byte[] byteArrayIn) 
{ 
    Image returnImage = null; 
    using (MemoryStream ms = new MemoryStream(byteArrayIn)) 
    { 
     returnImage = Image.FromStream(ms); 
    } 
    return returnImage; 
} 

for more info, visit this link

+0

我试过了,但'Image returnImage = Image.FromStream(ms);'不支持'Image.FromStream(ms)'。我已经包含了2个DLL,第一个是使用'system.IO',第二个是'using system.drawing'。任何想法为什么不支持我的代码中的这个功能? ' –

+0

@ Mack28这是一个完整的代码http://pastebin.com/QgZpKYfd –