存取数据库BLOB字段

向数据库存入blob字段值

string filepath = "D:\\pdf\\2008.pdf";
FileStream fs = null;
fs = new FileStream(filepath, FileMode.Open, FileAccess.Read);
Byte[] blob = new Byte[fs.Length];
fs.Read(blob, 0, blob.Length);
fs.Close();

string sql = "insert into TZ_TEST (ID,DATA) values (:ID,:DATA)";
OracleParameter[] parameters = {
new OracleParameter(":ID", OracleType.Number,4),
new OracleParameter(":DATA", OracleType.Blob)
};
parameters[0].Value = 0;
parameters[1].Value = blob;

DbHelperOra.ExecuteSql(sql, parameters);

读出blob字段的值发送到页面下载或者保存成文件

//ds为读出的dataset数据集,DATA字段为blob值

object blob = ds.Tables[0].Rows[0]["DATA"];
if (!DBNull.Value.Equals(blob))
{
file = (Byte[])blob;
}

//写出页面

 

if (file != null)
{
string fileName = "banbao.pdf";//客户端保存的文件名
//以字符流的形式下载文件
byte[] bytes = new byte[file.Length];

 

Response.ContentType = "application/octet-stream";
//通知浏览器下载文件而不是打开
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(file);
Response.Flush();
Response.End();
}

//或者保存成文件

string filepath2 = "D:\\pdf\\2008_" + DateTime.Now.ToString("HHmmss") + i + ".pdf";
FileStream fs2;
FileInfo fi = new System.IO.FileInfo(filepath2);
fs2 = fi.OpenWrite();
fs2.Write(file, 0, file .Length);
fs2.Close();

 

转载于:https://www.cnblogs.com/280850911/archive/2012/06/26/2564108.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值