日期:2014-05-17  浏览次数:20572 次

如何取出数据库中的二进制文件(未知格式的二进制文件)

朋友们,这些数据库中的二进制文件不知道是什么格式,请问怎么取出来,保存到本地呢?
二进制文件 数据库中的二进制文件 未知格式的二进制文件

------解决方案--------------------
不知道格式就麻烦了。
这个二进制可能代表一个图片,也可能是一个word文档,也可能是按一定规则保存的十进制数的十六制进表示。


------解决方案--------------------
                       DataRow row_m = ds_m.Tables[0].Rows[0];
                       byte[] File = (byte[])row_m["FileObj"];

                       Response.ContentType = "audio / wav";
                       if (File.Length > 0)
                          Response.BinaryWrite(File);
------解决方案--------------------
其中
Response.ContentType = "audio / wav";
是文件格式,上边的是语音文件
------解决方案--------------------

提供个思路,你试试是否可行。

http://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html
(通过上面链接的方法,我读取数据库二进制字段,该文章是以image为例。我们主要采用的是读取数据库中的字段,读取字段方法1,获得字节数组

http://blog.csdn.net/heling0223/article/details/6771001
(该文章中通过字节数组判断文件类型,刚好上面方法获得了字节数组,可以通过此方法判断出文件类型。)
------解决方案--------------------
引用:
提供个思路,你试试是否可行。

http://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html
(通过上面链接的方法,我读取数据库二进制字段,该文章是以image为例。我们主要采用的是读取数据库中的字段,读取字段方法1,获得字节数组)

http://blog.csdn.net/heling0223/article/deta……


关键代码(你自己再仔细看下):

            MemoryStream ms = new MemoryStream(imgArray);   //imgArray替换给你获取的buffer 
            System.IO.BinaryReader br = new BinaryReader(ms);  
            string fileclass = "";  
            byte buffer;  
            try   
            {  
                buffer = br.ReadByte();  
                fileclass = buffer.ToString();  
                buffer = br.ReadByte();  
                fileclass += buffer.ToString();  
            }