这篇文章主要介绍了C#实现文件与二进制互转并存入数据库,本文直接给出代码实例,代码中包含详细注释,需要的朋友可以参考下

//这个方法是浏览文件对象
    private void button1_Click(object sender, EventArgs e)
    {
      //用户打开文件浏览
      using (OpenFileDialog dialog = new OpenFileDialog())
      {
        //只能单选一个文件
        dialog.Multiselect = false;
        //选择一个文件
        if (dialog.ShowDialog() == DialogResult.OK)
        {
          try
          {
            //把选择的文件路径给txtPath
            this.textBox1.Text = dialog.FileName;
          }
          catch (Exception ex)
          {
            //抛出异常
            throw (ex);
          }
        }
      }
    }
 
    //关闭
    private void button3_Click(object sender, EventArgs e)
    {
      this.Close();
    }
 
    //把文件转成二进制流出入数据库
    private void button2_Click(object sender, EventArgs e)
    {
      FileStream fs = new FileStream(textBox1.Text, FileMode.Open);
      BinaryReader br = new BinaryReader(fs);
      Byte[] byData = br.ReadBytes((int)fs.Length);
      fs.Close();
      string conn = "server=.;database=testDB;Uid=sa;Pwd=sa ";
      SqlConnection myconn = new SqlConnection(conn);
      myconn.Open();
      string str = "insert into pro_table (pro_name,pro_file) values('测试文件',@file)";
      SqlCommand mycomm = new SqlCommand(str, myconn);
      mycomm.Parameters.Add("@file", SqlDbType.Binary, byData.Length);
      mycomm.Parameters["@file"].Value = byData;
      mycomm.ExecuteNonQuery();
      myconn.Close();
    }
 
    //从数据库中把二进制流读出写入还原成文件
    private void button4_Click(object sender, EventArgs e)
    {
      string conn = "server=.;database=testDB;Uid=sa;Pwd=sa ";
      string str = "select pro_file from pro_table where pro_name='测试文件' ";
      SqlConnection myconn = new SqlConnection(conn);
      SqlDataAdapter sda = new SqlDataAdapter(str, conn);
      DataSet myds = new DataSet();
      myconn.Open();
      sda.Fill(myds);
      myconn.Close();
      Byte[] Files = (Byte[])myds.Tables[0].Rows[0]["pro_file"];
      BinaryWriter bw = new BinaryWriter(File.Open("D:\\2.rdlc",FileMode.OpenOrCreate));
      bw.Write(Files);
      bw.Close();
        
    }

C#实现文件与二进制互转并存入数据库的更多相关文章

  1. 【转载】C#将图片以二进制流的方式存入数据库

    在C#开发应用程序的过程中,图片一般会存放在文件系统中,当然图片也可以二进制的方式存放到数据库中,不过一般不建议存放在数据库中,因为图片占用的空间还是挺大的,特殊情况下可以考虑将图片存在数据.此文将介 ...

  2. C# 文件与二进制互转数据库写入读出

    //这个方法是浏览文件对象 private void button1_Click(object sender, EventArgs e) { //用户打开文件浏览 using (OpenFileDia ...

  3. Springboot(九).多文件上传下载文件(并将url存入数据库表中)

    一.   文件上传 这里我们使用request.getSession().getServletContext().getRealPath("/static")的方式来设置文件的存储 ...

  4. svn 修改文件的二进制或文本标记

    在添加一个文件的时候,svn自动标记成了二进制文件.当时也没在意就提交了.结果修改了之后不能进行svn diff操作,说是二进制文件不能进行diff操作.在网上找了个方法,修改这个文件的标记属性,把这 ...

  5. C# 压缩文件与字节互转

    public class ZipBin { public byte[] bytes; //C#读取压缩文件(将压缩文件转换为二进制 public void GetZipToByte(string in ...

  6. c#常用工具类:文件和二进制转换

    //================二进制相关转换类============== #region 将文件转换为二进制数组 /// <summary> /// 将文件转换为二进制数组 /// ...

  7. C# 文件与二进制之间的转换

    /// <summary> /// 工具类:文件与二进制流间的转换 /// </summary> public class FileBinaryConvertHelper { ...

  8. HTML5新特性之文件和二进制数据的操作 Blob对象

    HTML5新特性之文件和二进制数据的操作 1.Blob对象 2.FileList对象 3.File对象 4.FileReader 对象 5.URL对象

  9. hexdump 工具使用 和 .txt 文件的二进制查看

    最近使用txt文件进行数据处理的时候,突然发现txt文件是怎样编码数据的了,它是以二进制来进行存储的吗?为了知道这个情况,我使用hexdump工具进行查看txt文件的二进制形式,并顺道进行学习了hex ...

随机推荐

  1. Android用surface直接显示yuv数据(三)

    本文用Java创建UI并联合JNI层操作surface来直接显示yuv数据(yv12),开发环境为Android 4.4,全志A23平台. package com.example.myyuvviewe ...

  2. mysql-xtrabackup

    使用xtrabackup进行MySQL数据库备份 2013年10月04日 ⁄ MySQL ⁄ 共 11306字 ⁄ 使用xtrabackup进行MySQL数据库备份已关闭评论 ⁄ 被围观 34,116 ...

  3. 2 TensorFlow入门笔记之建造神经网络并将结果可视化

    ------------------------------------ 写在开头:此文参照莫烦python教程(墙裂推荐!!!) ---------------------------------- ...

  4. Part1.2 、RabbitMQ -- Publish/Subscribe 【发布和订阅】

    python 目录 (一).交换 (Exchanges) -- 1.1 武sir 经典 Exchanges 案例展示. (二).临时队列( Temporary queues ) (三).绑定(Bind ...

  5. 基本数据类型(Day4)

    一 什么是数据? eg:x=10     则10是要存储的数据 二 为什么数据要分不同的类型? 数据是用来表示不同状态的,当然不同的状态可以用不同的数据表示 三 数据类型 1.数字(整型,长整型 ,浮 ...

  6. java中文转Unicode

    public String cnToUnicode(String cn) { char[] chars = cn.toCharArray(); String returnStr = "&qu ...

  7. html 基础 表单

    一.表单 <form id="" name="" method="post/get" action="负责处理的服务端&qu ...

  8. JavaScript判断对象 是什么类型的.

    // 这种方法不起作用 if (x == undefined) {   // 作某些操作 } // 这个方法同样不起作用- if (typeof(x) == undefined) {   // 作某些 ...

  9. [CF19E]Fairy

    给定一张n个点m条边的无向图,求删除哪一条边后,能够确保构成一个二分图,输出所有可能 解法:我们知道二分图的性质是没有奇环,这道题我们也应该从这个方面入手来考虑. 如果没有奇环的话我们当然想怎么删就怎 ...

  10. Rotate Image,N*N矩阵顺时针旋转90度

    public class RotateImage { public void rotate(int[][] matrix) { if(matrix.length == 1 && mat ...