无为清净楼资源网 Design By www.qnjia.com
网上关于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" />
存储图片类型数据有以下几种方式:
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" />
标签:
Asp.net,图片,数据库
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】