【问题标题】:Use Response.Redirect to open pdf in browser使用 Response.Redirect 在浏览器中打开 pdf
【发布时间】:2014-04-01 14:55:39
【问题描述】:

如何在 C# 和 ASP.NET 中使用响应调用在浏览器中动态打开文件资源? 我有一个存储文档的文件服务器。我有另一台运行 IIS 和 ASP.NET 应用程序的服务器。我需要在浏览器窗口中打开存储在文件服务器上的 pdf 文档。 我将文件夹路径字符串提供为“\\MyFileServer\documentFolder\”,将文件名字符串提供为“doc.pdf”。我尝试重定向到

Response.Redirect(folderPath + filename, true);

但重定向尝试将我提供的资源位置附加到当前服务器路径。我是 ASP.NET 的新手,所以请原谅我的无知。 哦,顺便说一句,该站点是从 android 平板电脑访问的,所以我需要将客户端浏览器显式重定向到文件资源,否则 android 将开始下载文件而不是打开它。

【问题讨论】:

    标签: c# asp.net webforms


    【解决方案1】:

    在响应中,写一个 Header:

    Content-Disposition: inline; doc.pdf
    

    查看更多here

    【讨论】:

    • 谢谢你的答案。我试过了,但没有任何反应。几乎就像在这个之后缺少一些执行命令一样。
    【解决方案2】:

    看看Response.AddHeader

    你可以这样做

    Response.AddHeader("content-disposition", "inline; filename=" + filepath + ".pdf");
    

    【讨论】:

    • 谢谢你的答案。我试过了,但没有任何反应。几乎就像在此之后缺少一些执行命令一样。浏览器不断显示我的 test.aspx。
    • @ArtK:您的文件路径是否包含文件扩展名?如果是删除手动添加的扩展名。否则可能会导致Response.AddHeader("content-disposition", "inline; filename.pdf.pdf")
    • 我通过将路径字符串发送到 Response.Write() 来测试浏览器看到的路径字符串。当我知道这是正确的时,我在 Response.AddHeader() 中使用了它。调用执行时没有任何操作。
    • @ArtK:很难说发生了什么。看看this 并尝试
    猜你喜欢
    • 1970-01-01
    • 2011-06-12
    • 2021-07-28
    • 2014-06-18
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多