如何在asp.net图像控件中显示mysql blob图像?
我知道在Windows窗体中显示mysql blob图像的方法如何在asp.net图像控件中显示mysql blob图像?,asp.net,mysql,image,blob,Asp.net,Mysql,Image,Blob,我知道在Windows窗体中显示mysql blob图像的方法 try { MySqlConnection connection = new MySqlConnection(hp.myConnStr); MySqlCommand command = connection.CreateCommand(); MySqlDataReader Reader;
try
{
MySqlConnection connection = new MySqlConnection(hp.myConnStr);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select logo from mcs_institude where id = 1";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
pictureBox1.Image = new Bitmap(new MemoryStream((byte[])Reader.GetValue(0)));
}
connection.Close();
}
catch(Exception ex)
{
MessageBox.Show("Error in Get_ImageFormDB"+ ex.Message, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
但现在我正在做一个asp.net项目。此图像中没有图像属性
command = connection.CreateCommand();
command.CommandText = "Select FO_Roomdet_Image from fo_roomtype where FO_Roomdet_Id=1";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
Image1.ImageUrl = new MemoryStream((byte[])Reader.GetValue(0));
}
connection.Close();
当我在asp.net中尝试此操作时,它遇到了一个错误
错误1无法将类型“System.IO.MemoryStream”隐式转换为
“字符串”
我怎样才能解决这个问题。并在asp.net图像控件中显示mysql blob图像
请帮帮我。您尝试执行的操作没有意义:试图显示您的图像的浏览器需要知道从何处下载图像 您应该设置一个专用于图像生成的特殊aspx页面,例如GetImage.aspx 然后,您的主页将具有指向此图像生成页面的img html标记:
<img src="/GetImage.aspx?id=your_image_id"/>
这肯定不是最简单的答案。 每次使用时,无需创建额外的aspx文件来生成和重新生成图像 实际上,您可以通过html标记语言的字节数组将图像文件嵌入到html标记语言中 您只需从数据库中获取BLOB字节数组并使用以下命令:
<img src="data:image/png;base64,<%= System.Convert.ToBase64String((byte[])dr["img"])%>" />
“/>
…其中dr是从数据集对象获取的数据行
我已经在Internet Explorer 8和所有现代浏览器中对它进行了测试,它可以正常工作。Response.BinaryWrite(imageData);->imageData是什么,先生?我在哪里可以找到它?对不起,我更新了我的答案,让它更清楚。是的,BinaryWrite写入了从数据库检索到的字节[]。这不是正确的答案。请改为查看我的答案。
<img src="data:image/png;base64,<%= System.Convert.ToBase64String((byte[])dr["img"])%>" />