我要将不同类型的文件转换为二进制文件,有没有方法使转换后的二进制文件不是数组的,只是一个单一的数据,存入数据库中。取出后还可以在转换回原来的文件。
各位高手帮帮忙啊!!!!!

解决方案 »

  1.   

    采用Image类型或者Binary类型都可以,可以采用下面类似的方法:
    conn = new SqlConnection(connectionutil.getconnetionstr());
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter("select * from tb_image", conn);
                    SqlCommandBuilder mycb = new SqlCommandBuilder(da);
                    DataSet ds = new DataSet("MyImage");
                    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                    FileStream fs = new FileStream("D:\\北京之旅1.jpg", FileMode.OpenOrCreate, FileAccess.Read);
                    byte[] MyData = new byte[fs.Length];
                    fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
                    fs.Close();
                    da.Fill(ds,"tbMyImage");
                    DataRow mydr;
                    mydr = ds.Tables["tbMyImage"].NewRow();
                    mydr["Description"] = "This is my Beijing's photo";
                    mydr["Imagfile"] = MyData;
                    ds.Tables["tbMyImage"].Rows.Add(mydr);
                    da.Update(ds, "tbMyImage");
      

  2.   

    可以将二进制数据流转换成string类型存入数据库。
      

  3.   

    没搞懂lz说的“二进制文件”的概念。任何文件内容都是可以作为二进制文件来读的。在我们现在使用的PC机的体系(冯·诺依曼体系)下,信息就是一个一个的字节。你想把它再抽象为什么其它的更高级的模型,那是你自己的事。但是信息——数据——它已经是二进制字节表示的了,用不着转换。
      

  4.   


    byte[]也是单一对象啊。数据库大多都有对应的处理。