2017-07-02 75 views
0

我嘗試打開一個模式窗口 一個PDF我面對顯示在一個模式窗口中的PDF下載不

<<div class="modal fade" id="basic" tabindex="-1" role="basic" aria- 
    hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria- 
        hidden="true"> 
       </button> 
      </div> 
      <div class="modal-body"> 
       <iframe id="Iframe1" src="" runat="server" width="540" height="600"></iframe> 
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn red btn-outline" data- 
        dismiss="modal"> 
        أغلق</button> 
      </div> 
     </div> 
     <!-- /.modal-content --> 
    </div> 
</div> 

一個問題,我給的iframe一個src來顯示PDF文件,

   frame1.Attributes.Add("src", "~/file.pdf"); 

問題是下載管理器強制要下載的文件,而不是出現在模式, 所以我嘗試添加下面的代碼,但它在所有的頁面的開放不是模式

string x ="~/file.pdf"; 
       Response.ContentType = "Application/pdf"; 
       Response.WriteFile(HttpUtility.HtmlEncode(x)); 
       Response.End(); 
       frame1.Attributes.Add("src", x); 

回答

0

您可以做兩件事,兩件事都與標題中的content-disposition有關。 關鍵是返回PDF與content-dispositioninline

所以,你可以設置在IIS:

  • 轉到文件
  • 屬性
  • 集內容處置,內聯; filename =「File1.pdf」

或者製作你自己的FileDownloader.aspx。並在其中設置內容部署:

Response.ContentType = "Application/pdf"; 
Response.setHeader("Content-disposition", "inline; filename=\"File1.pdf\""); 
Response.WriteFile(HttpUtility.HtmlEncode("file1.pdf")); 
Response.End(); 

,並在您的iFrame你只是針對下載

frame1.Attributes.Add("src", "FileDownloader.aspx");