2010-02-08 68 views
0

我試圖在按鈕上單擊打開.pdf文件。我想打開一個.pdf文件到面板或一些iframe中。使用下面的代碼,我只能在單獨的窗口或保存模式下打開.pdf文件。如何使用asp.net c在面板或iframe中打開.pdf文件#

string filepath = Server.MapPath("News.pdf"); 
    FileInfo file = new FileInfo(filepath); 
    if (file.Exists) 
    { 
     Response.ClearContent();    
     Response.AddHeader("Content-Disposition", "inline; filename=" + file.Name); 
     Response.AddHeader("Content-Length", file.Length.ToString());    
     Response.ContentType = ReturnExtension(file.Extension.ToLower());    
     Response.TransmitFile(file.FullName); 
     Response.End(); 
    } 

如何將IFRAME分配給下面的線

Response.AddHeader("Content-Disposition", "inline; filename=" + file.Name); 

回答

0

我很抱歉,我不能直接回答你的問題(從來沒有聽說過使用響應頭指定的幀)。

如果您將iFrame的src設置爲將PDF寫入客戶端的頁面/ URL,那該怎麼辦?這樣服務器只關心發回數據,而客戶端則選擇在哪裏顯示數據。

0

代碼格式化爲以下

private void ReadPdfFile() 
{ 
    string path = @"D:\Hemanth\sample.pdf"; 
    WebClient client = new WebClient(); 
    Byte[] buffer = client.DownloadData(path); 
    if (buffer != null) 
    { 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-length", buffer.Length.ToString()); 
     Response.BinaryWrite(buffer); 
    } 
} 
0

在.aspx頁面中

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 
<asp:LinkButton ID="lnkBtnPDFViewer" runat="server" OnClick="lnkBtnPDFViewer_Click" ToolTip="View PDF Document" CssClass="btn btn-white btn-sm"><span class="fa fa-file-pdf-o"></span></asp:LinkButton> 
<asp:Button ID="btnDocShow" runat="server" CssClass="hidden" /> 
     <!-- ModalPopupExtender --> 
     <cc1:ModalPopupExtender ID="mpeDocViewer" runat="server" PopupControlID="pnlDocViewer" TargetControlID="btnDocShow" 
      CancelControlID="btnDocClose" /> 
     <asp:Panel ID="pnlDocViewer" runat="server" CssClass="ibox" Style="display: none;"> 
      <div class="ibox-title"> 
       <h5>Employee Doc Viewer</h5> 
       <div class="ibox-tools"> 
        <a class="close-link"> 
         <i id="btnDocClose" class="fa fa-times"></i> 
        </a> 
       </div> 
      </div> 
      <div class="ibox-content"> 
       <iframe src="#" id="iframePDFViewer" width="800" height="500" runat="server"></iframe> 
      </div> 
     </asp:Panel> 

在各自的服務器端代碼

protected void lnkBtnPDFViewer_Click(object sender, EventArgs e) 
    { 
     string filePath = Request.Url.Scheme + "://" + Request.Url.Authority + myfile.pdf; 
     iframePDFViewer.Src = filePath; 
     mpeDocViewer.Show(); 
    } 

這將在一個模式彈出打開PDF文件使用iFrame。

參考:Code Project: Asp .Net PDF Viewer

相關問題