Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-disposition" ,"inline;filename=test.pdf" );
Response.AppendHeader("Content-Length", byContent.Length.ToString());
Response.BinaryWrite(byContent);
Response.End();//读文档,返回给HttpResponse

解决方案 »

  1.   

    建议保存到数据库的时候把ContentType也保存
      

  2.   

    public void Show()
    {
             try
    {
    Response.AddHeader("Content-Disposition", "FileName=" + 
    System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes( ds.Tables[0].Rows[0]["FileName"].ToString() )));
    Response.Charset ="UTF-8";
    Response.ContentEncoding = System.Text.Encoding.Default;
    Response.ContentType = ds.Tables[0].Rows[0]["ContentType"].ToString();
    Response.BinaryWrite((Byte[])ds.Tables[0].Rows[0]["Content"]);
    Response.Flush();
    }
    catch (Exception except)
    {
    PublicWebFn.AlertMessage( except.Message );
    }
    }
      

  3.   

    谢谢!
    可是当我打开word文档的时候,客户端调用了word进程,可是打开得却是我的登陆页面logon.aspx,是不是跟我web.config里面设置得用户验证方式有关???
    <authentication mode="Forms"> 
    ………………
    </authentication>
    <authorization>
    <deny users="?" />
    <allow users="*" />
    </authorization>
      

  4.   

    同意: reaperwu(RQ) 
    把文件保存在数据库中,好处多多
    省得维护文件,安全,易移植