2017-05-23 88 views
1

瀏覽各種解決方案後,我的ASP.NET網站(.doc.docx, .docx, .pdf等),我碰到一個簡單而優雅的解決方案,可以節省我很多麻煩:在iframe中顯示文檔(讓瀏覽器工作)。在沒有強制下載的情況下在iframe中顯示文檔?

<iframe runat="server" id="foo"></iframe> 

然後在後面的代碼:

foo.Attributes["src"] = "http://example.com/docs/koby.pdf"; 

問題是:文檔提示下載在瀏覽器中,而不是顯示它裏面。這是因爲我的頁面沒有聲明:

Content-Type: application/pdf 
Content-Disposition: inline; filename="filename.pdf" 

但是接下來呢,甚至可以將這些標頭屬性設置爲iframe嗎? 有人可以想出一個解決方案或更好的想法來實現這一目標嗎?

<%@ WebHandler Language="C#" Class="GetDoc" %> 

using System; 
using System.Web; 

public class GetDoc : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 
     context.Response.ContentType = "Application/pdf"; 
     context.Response.WriteFile("koby.pdf"); 
     context.Response.End(); 
    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 
} 

,並設置來源爲:

+0

如果您沒有訪問原始文件頭,我相信你唯一的選擇是依靠JavaScript並執行類似[this](https://stackoverflow.com/questions/12974115/how-to-open-a-pdf-file-in-an-iframe) –

回答

0

通過創建一個處理程序解決的問題

foo.Attributes["src"] = "/handlers/GetDoc.ashx"; 
相關問題