Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何强制浏览器在ASP.NET Webforms中下载而不是查看PDF文档_Html_Asp.net_Webforms - Fatal编程技术网

Html 如何强制浏览器在ASP.NET Webforms中下载而不是查看PDF文档

Html 如何强制浏览器在ASP.NET Webforms中下载而不是查看PDF文档,html,asp.net,webforms,Html,Asp.net,Webforms,我只是想问一下,如何防止web浏览器在浏览器上查看,因为每次用户单击链接以在浏览器视图中下载它 asp.net controller <li><asp:HyperLink ID="hl_download" runat="server" >Download</asp:HyperLink></li> html <a id="dnn_ctr932_View_hl_download" href="/ideaPark/DesktopModules/R

我只是想问一下,如何防止web浏览器在浏览器上查看,因为每次用户单击链接以在浏览器视图中下载它

asp.net controller 
<li><asp:HyperLink ID="hl_download" runat="server" >Download</asp:HyperLink></li>
html
<a id="dnn_ctr932_View_hl_download" href="/ideaPark/DesktopModules/ResourceModule/pdf_resources/IdeaPark_ER_diagram.pdf">Download</a>
asp.net控制器

  • 使用链接按钮,以便在单击时运行服务器端代码:

    <asp:LinkButton ID="hl_download" runat="server" OnClick="hl_download_Click">Download</asp:LinkButton>
    

    这假定web路径干净地映射到文件的文件系统路径。否则,请修改
    Response.WriteFile()
    ,使其指向文件系统中pdf文件的位置。

    几天前我遇到了同样的问题,并在StackOverflow上找到了另一个发布的很好的解决方案。这与使用HttpRequests在另一台服务器上获取文件的场景不同,但将文件以八位字节流发送到浏览器将保证弹出一个下载窗口


    这是用户设置。不要打扰用户。如果我使用了你的网站,但我没有得到预期的行为,我会很恼火。我知道,但我们的客户要求你通过发送标题
    内容类型:application/octet stream
    ,将pdf下载伪装成下载,而不是pdf文档,以下是你在php中的操作方法,这就是php。我的问题是在.NET中可能重复的
    public void hl_download_Click(Object sender, EventArgs e)
    {
        Response.AddHeader("Content-Type", "application/octet-stream");
        Response.AddHeader("Content-Transfer-Encoding","Binary");
        Response.AddHeader("Content-disposition", "attachment; filename=\"IdeaPark_ER_diagram.pdf\"");
        Response.WriteFile(HttpRuntime.AppDomainAppPath + @"ideaPark\DesktopModules\ResourceModule\pdf_resources\IdeaPark_ER_diagram.pdf");
        Response.End();
    }