如何在asp.net图像控件中显示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;

我知道在Windows窗体中显示mysql blob图像的方法

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"])%>" />