关于二进制显示的问题

sskeyial 2009-01-24 08:49:27
我的功能:web在线调用word 进行保存和显示

在从数据库中取出数据无法成功显示

在word 里显示效果 System.Byte[] 不是正确的内容

sql 数据库字段

id int 类型
DocContent image 类型

1. upload.aspx.cs 文件保存word数据字段 DocContent ,这个文件是成功保存信息到数据库的

HttpPostedFile upPhoto = Request.Files[0];
int upPhotoLength = upPhoto.ContentLength;
byte[] PhotoArray = new Byte[upPhotoLength];
Stream PhotoStream = upPhoto.InputStream;
PhotoStream.Read(PhotoArray, 0, upPhotoLength); //这些编码是把文件转换成二进制的文件
2.显示内容到word里
Conn.Open();
SqlDataReader dr= selectCMD.ExecuteReader();
if (dr.Read())
{
Response.BinaryWrite((Byte[])dr["DocContent"]); //读取二进制的文件
}
dr.Close();
Conn.Close();
Response.End();
请诸位高手帮忙
...全文
108 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sskeyial 2009-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sskeyial 的回复:]
能说的具体点吗
[/Quote]

我加了也是无效,

下面是我解决的代码
string sql = "select * from Doc where id=@id";
SqlCommand comd = new SqlCommand(sql, Conn);
comd.Parameters.Add("@id", SqlDbType.SmallInt, 10).Value = Int32.Parse(ID);
Conn.Open();
SqlDataReader dr = comd.ExecuteReader();

if (dr.Read())
{
string DocState = dr.GetValue(0).ToString();
Response.BinaryWrite((Byte[])dr["DocContent"]); //读取二进制的文件
}
dr.Close();
Conn.Close();
Response.End();
不知道为什么,我用这样方法读取就可以了
HDNGO 2009-01-25
  • 打赏
  • 举报
回复
Response.ContentType = "image/gif";
Rail100 2009-01-25
  • 打赏
  • 举报
回复
要设置response.contenttype,好像word是application/word,忘记了
sskeyial 2009-01-24
  • 打赏
  • 举报
回复
能说的具体点吗
怫悰 2009-01-24
  • 打赏
  • 举报
回复
冒泡帮顶接分

Response输出类型?

62,268

社区成员

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

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

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

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