All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
数据库优化之让你的SQL运行得更快_[SQL Server教程]
对.NET,Framework,反射的反思_.net资料_编程技术
SQL Server 索引基础知识(1)--- 记录数据的基本格式_[SQL Server教程]
HTML-加速、再加速_[Html教程]
C#中常见的错误类型
PHP解析XML,元素结构范例_php资料_编程技术
Visual,Studio,2008,RTM,已经编译完毕,内部人员已可使用_[Asp.Net教程]
ASP.NET,2.0页面性能的考虑_.net资料_编程技术
delphi常用的键盘事件处理方法-实例
SQL语句查询是否为空 =null及null_[SQL Server教程]
Reading number is top 10 pictures
人美胸美腿更美2
Abdominal hit by iron--HangZhou best driver parking save passengers
Sanya, hainan Haitian party feast promiscuity
A man's favorite things1
9.3阅兵全景图5-地空反舰导弹梯队
到南昌西站了3
30 beautiful school beauty3
Kim jong il's mistress, national beauty JinYuJi actor1
XuRe xuan cool and refreshing photoes2
治疗多发性骨髓瘤的特效药,一万二一支
Download software ranking
Tram sex maniac 2 (H) rar bag16
尖东毒玫瑰B
Tram sex maniac 2 (H) rar bag11
Ashlynn Video1
Tram sex maniac 2 (H) rar bag6
Sora aoi‘s film--Lust fan wall
Unix video tutorial15
JSP+Ajax Web development typical examples
Tram sex maniac 2 (H) rar bag14
XML+Web+Service开发教程
aaa published in(发表于) 2013/12/13 9:44:04 Edit(编辑)
用ASP.NET,2.0在Oracle中存取图片(文件)的操作_.net资料_编程技术

用ASP.NET,2.0在Oracle中存取图片(文件)的操作_.net资料_编程技术

用ASP.NET 2.0在Oracle中存取图片(文件)的操作_.net资料_编程技术-你的首页-uuhomepage.com

有时由于某种需要(如安全性)须将图片或文件存放在数据库中,当然一般情况下特别是文件比较大的时候很多人不提倡将文件以二进制的形式存放在数据库中的,现将Oracle中文件的存取整理如下(思路和在SQL Server2000中存取一样,存储时在数据中存放图片或文件的二进制字节流,读出时将数据库中对应字段读取到字节数据,然后输出):
1、在TOAD或SQLPlus中创建一下数据库表。



1CREATE TABLE TEST_TABLE
2(
3 ID VARCHAR2(36 BYTE),
4 NAME VARCHAR2(50 BYTE),
5 PHOTO BLOB
6)
7


2、新建一个ASPX页面,在页面上放一个FileUpload控件,命名为fileUp,放置两个按钮分布为btnSave(保存),btnRead(读取)。
3、在btnSave的事件中执行一下代码,用来保存图片或文件:



保存图片(文件)到Oracle
1StringBuilder sbSQL = new StringBuilder("insert into Test_Table(ID,Name,Photo) values(:ID,:Name,:Photo)");
2 OracleConnection cn = new OracleConnection(strCn);
3 OracleCommand cmd = cn.CreateCommand();
4 cmd.CommandText = sbSQL.ToString();
5 cmd.Parameters.Add(":ID", OracleType.VarChar, 36).Value = Guid.NewGuid().ToString();
6 cmd.Parameters.Add(":Name", OracleType.VarChar, 50).Value = fileUp.FileName; ;
7 int intLen = fileUp.PostedFile.ContentLength;
8 byte[] pic = new byte[intLen];
9 fileUp.PostedFile.InputStream.Read(pic, 0, intLen);
10 cmd.Parameters.Add(":Photo", OracleType.Blob).Value = pic;
11 try
12 {
13 cn.Open();
14 cmd.ExecuteNonQuery();
15 }
16 catch (Exception ex)
17 {
18 Response.Write(ex.Message);
19 }
20 finally
21 {
22 cn.Close();
23 }
24


4、读取方法如下:



从Oracle中读取图片(文件)
1OracleConnection cn = new OracleConnection(strCn);
2OracleCommand cmd = cn.CreateCommand();
3cmd.CommandText = "select photo from test_table";
4try
5{
6 cn.Open();
7 MemoryStream stream = new MemoryStream();
8 IDataReader reader = cmd.ExecuteReader();
9 if (reader.Read())
10 {
11 byte[] pic = (byte[])reader[0];
12 //byte[] pic = (byte[])cmd.ExecuteScalar();
13 stream.Write(pic, 0, pic.Length);
14 //Bitmap bitMap = new Bitmap(stream);
15 //Response.ContentType = "image/Jpeg";
16 //bitMap.Save(Response.OutputStream, ImageFormat.Jpeg);
17 //注释部分可以将图片显示在IE中,而不是下载图片,
18 //下面的方法直接下载文件
19 Response.ContentType = "application/octet-stream";
20 Response.AddHeader("Content-Disposition", "attachment;FileName= demo.JPG");
21 Response.BinaryWrite(pic);
22 Response.End();
23 }
24
25}
26catch (Exception ex)
27{
28 Response.Write(ex.Message);
29}
30finally
31{
32 cn.Close();
33}
34






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.