日期:2014-05-19  浏览次数:20654 次

二进制的读取?
有一表A
字段Content是二进制
是Word文件存取进表的。

需求:
读取Content取其中的内容。是以文字形式。
有的说是先读取成Word文件。不知道如何实现。

------解决方案--------------------
用流的方式把他读出来。
------解决方案--------------------
string sContent = Encoding.GetEncoding( "gb2312 ").GetString(byte[])
------解决方案--------------------
Byte[] buffer = null;
OracleCommand cmd = new OracleCommand(strSql,connectionString);
OracleDataReader reader = cmd .ExecuteReader();
if (reader.HasRows)
{
reader.Read();
OracleBlob myOracleBlob = reader.GetOracleBlob(0);
if (myOracleBlob == null) return null;
buffer = myOracleBlob.Value;
}
else
{
buffer = null;
}
reader.Close();
return buffer;
------解决方案--------------------
然后再用Qim(莫名-从星做起(blog.csdn.net/qim/)) 兄的方法,把byte[]转成string,
lz,应该够了吧。
------解决方案--------------------
要显示word文件中的内容,就必须先把数据库中的二进制数据转存为本地文件,再打开文件获取内容。word文件有自己的格式,不同于文本文件,是不能直接从二进制转换过来的.
System.IO.FileStream fs = new System.IO.FileStream( " ",System.IO.FileMode.CreateNew);
System.IO.BinaryWriter writer= new System.IO.StreamWriter(fs);
writer.Write(byte[]);
writer.Close();
fs.Close();
剩下的就是打开文件,获取内容了