[英]How to retrieve image from Mysql and read it directly in image control asp.net
我在MySQL中以blob數據類型將圖像存儲為byte []數組作為blob數據類型,但是在圖像控制的asp.net應用程序中找不到正確的方法來讀取同一張圖片。 在“ slike”表中,有3列-image,imagename,brTablice-我一直在尋找答案,但沒有找到任何答案。 這是我的代碼:
protected void Button1_Click(object sender, EventArgs e)
{
string connectionString = "Server=localhost;Uid=Aleksa;port=3306;Pwd=pass;Database=projekat_automobili;";
MySqlConnection con = new MySqlConnection(connectionString);
MySqlCommand cmd = new MySqlCommand("SELECT image from slike where brTablice = 'BG-456-SD'", con);
con.Open();
MySqlDataReader DR1 = cmd.ExecuteReader();
if (DR1.Read())
{
//TextBoxJmbg.Text = DR1.GetString(DR1.GetOrdinal("jmbg"));
//TextBoxIP.Text = DR1.GetString(DR1.GetOrdinal("imeprezime"));
//TextBoxTel.Text = DR1.GetString(DR1.GetOrdinal("tel"));
byte[] imgg = (byte[])(DR1["image"]);
if (imgg == null)
{
MemoryStream mstream = new MemoryStream(imgg);
Image1.ImageUrl = System.Drawing.Image.FromStream(mstream).ToString();
Image1.ImageUrl = "data:image/jpeg;base64," + Convert.ToBase64String(imgg);
//Image1.ImageUrl = "";
}
else
{
MemoryStream mstream = new MemoryStream(imgg);
Image1.ImageUrl = System.Drawing.Image.FromStream(mstream).ToString();
}
}
con.Close();
}
這是項目的一部分。
mysql表:
----------------------------
G_Picture| G_Picture_size |
----------------------------
0xsd/s45e| 9000 |
-----------------------------
uint FileSize = _sqldatareader.GetUInt32(_sqldatareader.GetOrdinal("G_Picture_size"));
byte[] rawData = new byte[FileSize];
_sqldatareader.GetBytes(_sqldatareader.GetOrdinal("G_Picture"), 0, rawData, 0, (Int32)FileSize);
MemoryStream ms = new MemoryStream(rawData);
__G_Picture.BackgroundImage = new Bitmap(ms);
現在是位圖圖片。 希望這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.