如何取出数据库中的二进制文件(未知格式的二进制文件)
朋友们,这些数据库中的二进制文件不知道是什么格式,请问怎么取出来,保存到本地呢?
二进制文件
数据库中的二进制文件
未知格式的二进制文件
------解决方案--------------------不知道格式就麻烦了。
这个二进制可能代表一个图片,也可能是一个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
(该文章中通过字节数组判断文件类型,刚好上面方法获得了字节数组,可以通过此方法判断出文件类型。)
------解决方案--------------------
关键代码(你自己再仔细看下):
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();
}