从sql server在asp页面中显示图像。 [英] Showing Image in asp page from sql server.
本文介绍了从sql server在asp页面中显示图像。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨
i使用此代码将图像从sql转换为asp。
但是我无法展示它由asp.net提供的图像控制
i我相信这段代码对窗口应用很有用
我如何显示asp的图像
请为asp建议。
TextBox Name1 = LoginUser.FindControl( UserName ) as TextBox;
String Name = Name1.Text;
TextBox pass = LoginUser.FindControl( 密码) as TextBox;
String pass2 = pass.Text;
SqlCommand cmd = new SqlCommand( 选择*来自UserInfo,其中UserName1 =' +名称+ '和Password1 =' + pass2 + ',conn);
conn.Open();
dr = cmd.ExecuteReader();
if (dr.HasRows)
{dr.Read();
byte [] b =( byte [])dr [ 3 跨度>];
MemoryStream ms = new MemoryStream(b);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
解决方案
代码。 ASPX页面:
< img runat = 服务器 id = logoImg alt = src = / >
C#代码背后:
< pre lang =c #> byte [] imgArray =( byte [])dTable.Rows [ 0 ] [ 8 ];
logoImg.Src = data:image / png; base64, + Convert.ToBase64String (imgArray);
// 我不是一个数组的字节,所以我从openfiledialogbox中选择一个图像并将其转换为byte []。
openFileDialog1.ShowDialog();
Image img = Image.FromFile(openFileDialog1.FileName);
MemoryStream ms = new MemoryStream();
img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
byte [] bt = ms.ToArray();
// 到目前为止我已将图像转换为byte []。
// 现在从这个字节[]我创建一个图像
MemoryStream ms2 = new MemoryStream(bt);
System.Drawing.Image img2 = System.Drawing.Image.FromStream(ms2);
// 我得到了我的图片。
位图位= new 位图( 200 , 200 );
图形g = Graphics.FromImage(位);
g.DrawImage(img2, new Point( 0 , 0 跨度>));
bit.Save( abc.jpg,System.Drawing.Imaging.ImageFormat。 JPEG);
MessageBox.Show( 完成);
yourImageControl.ImageUrl = Images / abc.jpg;
// 只需用Server.MapPath(图片)替换代码中的路径abc.jpg /abc.jpg)
这是解决方案,
Default.aspx.cs
使用System.IO;使用System.Drawing
;
//用于将图像插入数据库。
protected void Button1_Click(object sender,EventArgs e)
{
if(FileUpload1.HasFile)
{
System.Drawing.Image img = System.Drawing.Image .FromFile(使用Server.Mappath( 图像/ abc.jpg的));
MemoryStream ms = new MemoryStream();
img.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
byte [] bt = ms.ToArray();
ViewState [byteArray] = bt;
}
}
//用于从数据库中获取图像
protected void Button2_Click(object sender,EventArgs e)
{
byte [] bt = ViewState [byteArray] as byte [];
MemoryStream ms2 = new MemoryStream(bt);
System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(ms2);
位图位=新位图(ms2,true);
bit.Save(Server.MapPath(Images / abc.jpg),System.Drawing.Imaging.ImageFormat.Jpeg);
Image1.ImageUrl =Images / abc.jpg;
}
Default.aspx代码
< 表格 id = form1 runat = server >
< asp:FileUpload ID = FileUpload1 runat = server/ >
< asp:按钮 ID = Button1 runat = server 文字 = 上传 onclick = Button1_Click / >
< br / >
< asp:图像 ID = Image1 runat = server 高度 = 200px 宽度 = 200px / >
< asp:按钮 ID = Button2 runat = server 文字 = 获取图片
onclick = Button2_Click / >
< / form >
Hi
i am using this code for retriving image from sql to asp.
But i am unble to show it into Image control provided by asp.net
i am sure this code is usefull for window application
How can i show image for asp
please suggest for asp.
TextBox Name1 = LoginUser.FindControl("UserName") as TextBox;
String Name = Name1.Text;
TextBox pass = LoginUser.FindControl("Password") as TextBox;
String pass2 = pass.Text;
SqlCommand cmd = new SqlCommand("Select * from UserInfo where UserName1 = '" + Name + "' And Password1 = '" + pass2 + "'", conn);
conn.Open();
dr = cmd.ExecuteReader();
if (dr.HasRows)
{ dr.Read();
byte[] b = (byte[])dr[3];
MemoryStream ms = new MemoryStream(b);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
解决方案
Code on the .ASPX page :
<img runat=server id="logoImg" alt="" src="" />
C# Code behind it :
byte[] imgArray = (byte[])dTable.Rows[0][8]; logoImg.Src = "data:image/png;base64," + Convert.ToBase64String(imgArray);
//I am not a byte a array so i am selecting an image from openfiledialogbox and converting it to byte[]. openFileDialog1.ShowDialog(); Image img = Image.FromFile(openFileDialog1.FileName); MemoryStream ms = new MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] bt = ms.ToArray(); //till now i had converted my image in to byte[]. //now from this byte[] i am creating a Image MemoryStream ms2 = new MemoryStream(bt); System.Drawing.Image img2 = System.Drawing.Image.FromStream(ms2); //i got my image. Bitmap bit = new Bitmap(200, 200); Graphics g = Graphics.FromImage(bit); g.DrawImage(img2, new Point(0, 0)); bit.Save("abc.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); MessageBox.Show("Done"); yourImageControl.ImageUrl = "Images/abc.jpg"; //just replace the path "abc.jpg" in your code with "Server.MapPath("Images/abc.jpg")"
Here is the solution,
Default.aspx.cs
using System.IO; using System.Drawing; //For inserting image in to database. protected void Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("Images/abc.jpg")); MemoryStream ms = new MemoryStream(); img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] bt = ms.ToArray(); ViewState["byteArray"] = bt; } } //For Fetching image from database protected void Button2_Click(object sender, EventArgs e) { byte[] bt = ViewState["byteArray"] as byte[]; MemoryStream ms2 = new MemoryStream(bt); System.Drawing.Image imgPhoto = System.Drawing.Image.FromStream(ms2); Bitmap bit = new Bitmap(ms2, true); bit.Save(Server.MapPath("Images/abc.jpg"), System.Drawing.Imaging.ImageFormat.Jpeg); Image1.ImageUrl = "Images/abc.jpg"; }
Code for Default.aspx
<form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="Upload" onclick="Button1_Click" /> <br /> <asp:Image ID="Image1" runat="server" Height="200px" Width="200px"/> <asp:Button ID="Button2" runat="server" Text="Fetch Image" onclick="Button2_Click" /> </form>
这篇关于从sql server在asp页面中显示图像。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文