我有一个潜在的简单问题。我将图像存储在数据库中,然后在应用程序中使用c方法获取该图像并将其存储在如下所示的自定义类中:
public class MyImage
{
public System.Drawing.Image myImageFromDB;
public string imageName;
public int imageNumberInCollection;
}
我的问题是:我可以/如何在html图像标记中使用这个类中的图像?我尝试了以下操作,但它只返回一个带有红色x的框:
//myImageFromDBCollection is a list of MyImage objects
foreach(var ind in myImagesFromDBCollection)
{
table += String.Format("<image src={0} />", ind.myImageFromDB);
}
你知道我做错了什么吗?
最佳答案
最后,我使用了brads方法来解决这个问题(参见问题下面的注释),我创建了一个方法,它接受一个system.drawing.image并将其转换为一个字节数组,然后对该字节数组进行编码以获取图像。代码如下所示:
byte[] imgBytes = turnImageToByteArray(ind.ind.myImageFromDB);
string imgString = Convert.ToBase64String(imgBytes);
table += String.Format("img src=\"data:image/Bmp;base64,{0}\">", imgString);
private byte[] turnImageToByteArray(System.Drawing.Image img)
{
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
return ms.ToArray();
}
目前这是为我的目的工作,所以感谢大家和他们的建议,因为大家总是来帮助:-)