教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> 用ASP.NET 2.0在Oracle中存取图片(文件)的操作 RSS订阅
用ASP.NET 2.0在Oracle中存取图片(文件)的操作
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
     有时由于某种需要(如安全性)须将图片或文件存放在数据库中,当然一般情况下特别是文件比较大的时候很多人不提倡将文件以二进制的形式存放在数据库中的,现将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
  http://www.cnblogs.com/weiweictgu/archive/2006/11/17/563761.HTML
  
    。



来源:upschool.com.cn
作者:
关键字:用ASP.NET,文件,操作
发表日期:2006-11-20

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:ASP.NET 2.0 Membership原理及应用1   下一篇:asp.net 操作xml


本文的相类似文章
  • Photoshop 制作竹子的简单操作
  • Photoshop的文件格式
  • 经典:局域网操作技巧与配置实例
  • 新手Linux操作系统的网关设置
  • 组建高速又安全的文件服务器
  • 光纤接续方法及操作步骤详解
  • 提高Linux操作系统网速的方法
  • ADSL共享方案及实例操作
  • 提高操作系统和IIS安全性的绝招
  • 让IIS服务器支持中文文件名
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com