首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Response.TransmitFile和Apache的问题

Response.TransmitFile和Apache的问题
EN

Stack Overflow用户
提问于 2011-11-15 03:19:21
回答 1查看 193关注 0票数 0

我在页面加载处理程序中有一段ASP.Net 2.0代码,基本上看起来像这样:

代码语言:javascript
复制
        Response.Clear();
        Response.ContentType="application/pdf";
        Response.TransmitFile("foo.pdf");
        Response.End();

当通过IIS或Cassini运行时,它在所有浏览器上都能很好地工作。但是,当我尝试使用mod_aspdotnet.so (我确实需要支持,并且通常没有什么奇怪的地方)通过Apache运行它时,我得到了各种各样的不良行为。使用Chrome、Firebird和IE,我得到一个"OK 200“页面,说”服务器遇到一个内部错误或错误配置,无法完成您的请求。“使用Safari,它最终会重新加载页面。

我已经在其他文件类型上尝试过了,不同的ContentType,WriteFile而不是TransmitFile,使用AddHeader提供内容长度和内容部署,以及BufferOutput。简而言之,对于如何找出问题所在,我已经没有什么想法了。任何想法都很感谢。

kd

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 05:26:14

我终于让它起作用了。我不期望太多(有吗?)其他人在这艘船上,但如果你是,这是有效的:

代码语言:javascript
复制
    Response.Clear();
    Response.ContentType="application/pdf";
    f=new FileStream(targetFile, FileMode.Open);
    byte[] b=new byte[(int)f.Length];
    f.Read(b, 0, f.Length);
    f.Close();
    Response.BinaryWrite(b);
    Response.Flush();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8126855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档