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" />



相关阅读:
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
jquery使用ul模拟select实现表单美化的方法
PHP获取音频文件的相关信息
Android处理图像数据转换的各种方法
C#特性 扩展方法
php使用百度ping服务代码实例
C语言中用于产生随机数的函数使用方法总结
js将当前时间格式转换成时间搓(自写)
使用GruntJS构建Web程序之Tasks(任务)篇
MongoDB中的bson介绍和使用实例
Java的Struts框架中的主题模板和国际化设置
C++设计模式之单例模式
JavaScript中使用ActiveXObject操作本地文件夹的方法
android照相、相册获取图片剪裁报错的解决方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 石河子-温州 宁波-滕州 济宁-庄河 定西-甘孜 包头-乳山 邯郸-南昌 邢台-保定 漳州-邯郸 东台-诸城 朝阳-丹阳 齐齐哈尔-曲靖 双鸭山-龙口 眉山-白城 泰兴-贵港 清远-阿勒泰 佛山-河津 郫县-文山 嘉兴-湛江 沈阳-崇明 胶州-郑州 梅州-佛山 江门-本溪 西宁-枣庄 昆明-宜昌 平凉-双鸭山 瑞安-偃师 大理-曲靖 温岭-日喀则 增城-承德 攀枝花-庆阳 章丘-山南 商丘-汕尾 濮阳-惠安 兰州-松原 神木-乌海 海门-本溪 盘锦-浏阳 长治-寿光 淮北-安庆 金昌-桂林 厦门-诸城 广州-七台河 惠安-自贡 龙岩-宣城 塔城-苍南 十堰-扬中 岳阳-曲靖 武安-江都 偃师-漳州 德州-镇江 茂名-吉安 即墨-常德 咸阳-乌鲁木齐 昌吉-镇江 忻州-马鞍山 芜湖-莱州 仪征-合肥 兰州-仪征 肇庆-福清 锦州-乌鲁木齐 梅州-三明 都江堰-河津 榆林-乌兰浩特 固原-湛江 通辽-重庆 滁州-凉山 西安-吉林 阿勒泰-文登 扬中-如皋 安庆-那曲 乌兰浩特-晋城 日喀则-绥化 西安-石嘴山 新昌-徐州 秦皇岛-泸州 德清-日喀则 娄底-德清 抚顺-黄山 锦州-鄂尔多斯 毕节-襄阳 贵阳-焦作 天津-陶赖昭 南平南-娄底 涪陵-文地 包头-株洲 达州-潼关 一面坡-互助 北戴河-萍乡 古源-加南 高碑店-石家庄 徐州-衡阳 崔黄口-上仓 梧州-杭州东 葛根庙-大安北 洮南-商河 安图西-齐齐哈尔南 曹县-霸州 商丘-南充 凤凰城-新民 贵定-涟源 绕阳河-沟帮子 鹰潭-桐柏 山海关-向塘 磐石-静海 唐河-富县东 焦作-漯河 宁海-温州南 廊坊北-大虎山 嘉善南-绅坊 枣庄西-镇远 湖州-衡山西 邯郸-贵港 武功-榆次 牙屯堡-商洛 镇江南-大连北 察素齐-兴和西 五龙背-下马塘 德州东-铜陵 拉萨-成都 大扬气-铁岭 白银西-兴泉堡 惠农-沙城 玉林-当阳 广元-眉山 张掖-沈阳北 巢湖东-闽清北 新沂-扬州 武昌-盘锦 泰山-冷水江东 高邑-临河 桐乡-霞浦 昌图-穆棱 邓州-四平 江油-眉山东 黑台-穆棱 丽水-娄底 四方台-海北 哈力图-四平 双鸭山-庆安 哈密-鄯善 丽水-天津南 义乌-綦江 星耀-七苏木 昌黎-四平 衡山-襄阳东 哈尔滨-尚家 禹城-兖州 南昌西-曲阜东 合肥-广安 吐哈-清水北 广水-安顺 昆山南-绍兴北 开封-盘锦 萧县北-上海虹桥 南口前-草市 麻城北-驻马店西 盘州-长沙南 潍坊-义乌 淮滨-南昌 大杨树-青水山

Copyright © 2016 phpStudy |