• 存取数据库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();

     

  • 相关阅读:
    Java
    Spring
    Q&A
    Q&A
    Q&A
    Spring
    Elasticsearch部署及基本概念
    rust(二) 变量及类型
    rust(一) 一些命令
    vim笔记
  • 原文地址:https://www.cnblogs.com/280850911/p/2564108.html
Copyright © 2020-2023  润新知