Asp.net把图片存入数据库和读取图片的方法

网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:
存储图片类型数据有以下几种方式:
1.将图片转换为二进制数组(byte[])

复制代码 代码如下:

byte[] fileData = this.FileUpload1.FileBytes;

2. 根据路径将文件转换为2进制数组

复制代码 代码如下:

代码
public byte[] returnbyte(string strpath)
{
 // 以二进制方式读文件
    FileStream fsMyfile = new FileStream(strpath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
// 创建一个二进制数据流读入器,和打开的文件关联
    BinaryReader brMyfile = new BinaryReader(fsMyfile);
// 把文件指针重新定位到文件的开始
    brMyfile.BaseStream.Seek(0, SeekOrigin.Begin);
   byte[] bytes = brMyfile.ReadBytes(Convert.ToInt32(fsMyfile.Length.ToString()));
// 关闭以上new的各个对象
    brMyfile.Close();
   return bytes;
}

3img 类型得到二进制数组

复制代码 代码如下:

public static byte[] Getbyte(Image img)
{
    MemoryStream stream = new MemoryStream();
    img.Save(stream, ImageFormat.Jpeg);
    byte[] mydata = new byte[stream.Length];
    mydata = stream.ToArray();
    stream.Close();
    return mydata;
 }

读取image类型的数据并显示在网页上的方式如下:
1。直接返回image 类型

复制代码 代码如下:

private System.Drawing.Image getImageDataFromOracle()
{
string sql = "select IMGDATA from t_img where imgID=100";
string strconn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringForOracle"].ToString();
OracleConnection oraConn = new OracleConnection(strconn);
OracleCommand oraComm = new OracleCommand(sql, oraConn);
oraConn.Open();
byte[] fileData = (byte[])oraComm.ExecuteScalar();
oraConn.Close();
System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}

2.利用页面输入来显示图片
页面ImageShow.aspx (Page_Load方法)

复制代码 代码如下:

 protected void Page_Load(object sender, EventArgs e)
{
byte[] b_logoImg = (byte[])dt_channelImg.Rows[0]["LogoImage"]; //得到byte[] 数组,这里只是举个例子
   if (b_logoImg.Length > 0)
{
System.Drawing.Image logoImg;
MemoryStream ms = new MemoryStream(b_logoImg);
Response.Clear();
Response.ContentType = "image/gif";
Response.OutputStream.Write(b_logoImg, 0, b_logoImg.Length);
Response.End();
}
}

图片路径写成为:<img src = "ImageShow.aspx" />

时间: 2024-11-02 15:15:12

Asp.net把图片存入数据库和读取图片的方法的相关文章

Asp.net把图片存入数据库和读取图片的方法_实用技巧

网上关于ASP.NET上传图片到数据库的资料非常多,常用的如下:存储图片类型数据有以下几种方式:1.将图片转换为二进制数组(byte[]) 复制代码 代码如下: byte[] fileData = this.FileUpload1.FileBytes; 2. 根据路径将文件转换为2进制数组 复制代码 代码如下: 代码 public byte[] returnbyte(string strpath){ // 以二进制方式读文件    FileStream fsMyfile = new FileSt

ASP.Net 图片存入数据库的实现代码_实用技巧

在这篇文章中,我们将讨论怎样把图片存入到Sql2000当中. 在这篇文章中我们可以学到以下几个方面的知识: 1. 插入图片的必要条件 2. 使用流对象 3. 查找准备上传的图片的大小和类型 4.怎么使用InputStream方法? 插入图片的必要条件 在我们开始上传之前,有两件重要的事我们需要做: #Form 标记的 enctype 属性应该设置成 enctype="multipart/form-data" # 需要一个<input type=file>表单来使用户选择他们

c# emory tream-c# richtext存入文字+图片至数据库,读取时报文件格式无效错误

问题描述 c# richtext存入文字+图片至数据库,读取时报文件格式无效错误 //将richtext中文字+图片存入数据库 this.rtbText.SaveFile(mstream, RichTextBoxStreamType.RichText); mstream.Position = 0; SqlCommand cmd = new SqlCommand(); System.Data.SqlClient.SqlParameter[] pram = new System.Data.SqlCl

在C#中如何从数据库中读取图片,然后显示在网页的特定位置?

问题描述 在C#中如何从数据库中读取图片,然后显示在网页的特定位置?谢谢了! 解决方案 解决方案二:用google搜索asp.net数据库图片显示你会得到很多结果

把存入数据库中的图片取出来,显示在GridView中是没有问题的,但是要用marquee来滚动显示从数据库中读出的图片怎么办?

问题描述 谢谢!如果不能回答上面的问题,给我一个menu邦定数据库的例子我给分的!VS2005 解决方案 解决方案二:<marquee><imgsrc="image.aspx?id=111"></marquee>在image.aspx里面显示图片的程序解决方案三:Response.Clear();Response.ContentType="image/jpeg";Response.BinaryWrite(b);显示图片的最简单的几

如何从数据库中读取图片并显示在MFC picture控件当中?

问题描述 如何从数据库中读取图片并显示在MFC picture控件当中? 如何从sqlite读取图片并显示在MFC picture控件当中?新手啊,不知道大概怎么弄,如果能给几行代码,感激不尽! 解决方案 参考:http://blog.csdn.net/zhangyulin54321/article/details/8098484 解决方案二: MFC picture控件中显示图片MFC picture控件中显示图片MFC picture控件显示图片(新手)

asp中利用数组实现数据库记录的批量录入方法

数据|数据库|数组 asp中利用数组实现数据库记录的批量录入方法(原创) 演示:http://www.zwtd.com/1/yanek/n/needdj2.asp <% rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件 1.allneeddj.asp:实现表单的生成 2. allneeddjresult.asp 处理表单批量录入 3.hbedu.mdb :数据库文件 其数据库结构如下 provi

asp中利用数组实现数据库记录的批量录入方法(原创),有演示,建议入精华

精华|数据|数据库|数组|原创 asp中利用数组实现数据库记录的批量录入方法(原创)演示:http://www.zwtd.com/1/yanek/n/needdj2.asp<%rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件1.allneeddj.asp:实现表单的生成2. allneeddjresult.asp 处理表单批量录入3.hbedu.mdb :数据库文件其数据库结构如下provinc

asp.net得到本机数据库实例的两种方法代码

这篇文章介绍了asp.net得到本机数据库实例的两种方法代码,有需要的朋友可以参考一下   复制代码 代码如下: <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <scri