我已经以二进制格式在SQL db中存储了.doc / .docx和pdf文件。我想在Web浏览器中显示它们,并使用以下代码。这里.pdf文件没有问题,它在网页中正确显示。但对于.doc / .docx,网页中会显示无格式数据。
DataSet ds = GetData(proID);
Byte[] bytes = (Byte[])ds.Tables[0].Rows[0]["Resume"];
Response.Buffer = true;
Response.Charset ="";
Response.Clear();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
if (ds.Tables[0].Rows[0]["ContentType"].ToString() == ".doc" || ds.Tables[0].Rows[0]["ContentType"].ToString() == ".docx")
{
Response.ContentType = "application/vnd.ms-word";
}
else if (ds.Tables[0].Rows[0]["ContentType"].ToString() == ".pdf")
{
Response.ContentType = "application/pdf";
}
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
.doc / .docx的if条件不起作用..但是.doc / .docx文件的内容类型是" text / html"。谁能帮助我做到这一点?
答案 0 :(得分:0)
下面应该可以工作。
HttpContext.Current.Response.ContentType = "application/vnd.ms-word";
或
HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"