读取 blob

yhlphy 2003-12-15 02:13:25
我在数据库中读去blob类型数据(内容存储的是word文档)但是读出的显示不出来,代码如下
Response.ContentType="application/msword";
Response.BinaryWrite((byte[])dr["字段名"]);
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
91bct 2003-12-15
  • 打赏
  • 举报
回复
dbType是数据库类型:
public enum DBType
{
Oracle,SqlServer,OleDb
}
酋长 2003-12-15
  • 打赏
  • 举报
回复
你将blob类型换成long raw类型在测试一下
91bct 2003-12-15
  • 打赏
  • 举报
回复
看看这个(仅供参考):--从数据库中获取 BLOB 值

/// <summary>
/// 根据select command查询Blob大对象数据
/// </summary>
/// <param name="select">已设置好参数的Select Command</param>
/// <returns>byte数组</returns>
/// <remarks>取出大对象数据,如图片等。</remarks>
public byte[] ReadBlobData(IDbCommand select)
{
switch(dbType)
{
case DB.DbTypeClass.DBType.Oracle:
{
try
{
select.Connection=connOracle;
if ( select.Connection.State != ConnectionState.Open)
select.Connection.Open();
select.ExecuteNonQuery();
OracleLob lob = (OracleLob)((OracleParameter)select.Parameters[1]).Value;
if( lob.IsNull )
return null;
byte[] imgData = new byte[lob.Length];
lob.Read( imgData,0,(int)lob.Length);
return imgData;
}
catch//(Exception ex)
{
return null;
}
finally
{
select.Connection.Close();
}
}
case DB.DbTypeClass.DBType.SqlServer:
{
try
{
select.Connection=connSql;
if ( select.Connection.State != ConnectionState.Open)
select.Connection.Open();
select.ExecuteNonQuery();
byte[] imgData=(byte[])((SqlParameter)select.Parameters[1]).Value;
return imgData;
}
catch//(Exception ex)
{
return null;
}
finally
{
select.Connection.Close();
}
}
case DB.DbTypeClass.DBType.OleDB:
{
try
{
select.Connection=connSql;
if ( select.Connection.State != ConnectionState.Open)
select.Connection.Open();
select.ExecuteNonQuery();
byte[] imgData=(byte[])((OleDbParameter)select.Parameters[1]).Value;
return imgData;
}
catch//(Exception ex)
{
return null;
}
finally
{
select.Connection.Close();
}
}
default:
return null;
}

}
huangwangman 2003-12-15
  • 打赏
  • 举报
回复
给段源码你参考一下.

Response.Clear()
'Response.AddHeader("Content-Type",dr("文件类型").ToString(),filename=" & dr("文件名"))
dim strFileName as string = System.Web.HttpUtility.UrlEncode( System.Text.Encoding.UTF8.GetBytes(dr("文件名").tostring()))

Response.AddHeader ("content-disposition", "attachment; filename=" & strfilename)
Response.contenttype=dr("文件类型").ToString()

Response.BinaryWrite(dr("文件内容"))

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧