从sql server在asp页面中显示图像。 [英] Showing Image in asp page from sql server.

查看:80
本文介绍了从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆