2016-11-09 51 views
5

私はbase64でレポートPDFを持っています、私はHTMLページに埋め込まれたファイルを表示したいと思います。これを行うにはiFrameを使用していますが、ダウンロードしたときに割り当てられた名前で保存されるようにPDFの名前を設定できないという問題があります。iframeのbase64 pdfのファイル名を設定するにはどうすればよいですか?

ファイル名を設定できますか?はいの場合はどうすればいいですか?

これは私のコードです:

var iFrameBlock = $("<iframe>").attr({ 
 
     "src": base64file_encode, 
 
     "width": "100%", 
 
     "height": "100%", 
 
     "frameborder": "0" 
 
}); 
 

 
$("#previewPDF").html(iFrameBlock);
結果: Preview of PDF

そして、私は、ファイルをダウンロードしようとすると、保存する名前は、 "download.pdf" Save dialog

です

私はさまざまな方法で試しましたが、どちらも動作しません:

属性 ダウンロード= "filename.pdf"

 
    var iFrameBlock = $("<iframe>").attr({ 
 
     "src": base64file_encode, 
 
     "width": "100%", 
 
     "height": "100%", 
 
     "frameborder": "0", 
 
     "download": "filename.pdf" 
 
    }); 
 
    
 

  • 私は、IFRAME内の値を変更しようとしましたが、私は正しい属性とChromeを見つけることができるの追加

    1. その行動を否定した。

      
       
          var iframe = $("iframe")[0]; 
       
          var iframeDocument = iframe.contentDocument || iframe.contentWindow.document; 
       
          //here I suppose is the label of the filename 
       
          $(iframeDocument).find("viewer-pdf-toolbar"); 
       
          
       
      

    しかし、私が使用して、他のライブラリを防ぎたいです。

    はあなたの時間

  • +0

    解決する方法はありますか? –

    +1

    まだありませんが、ファイルパスを使用しました – Tecnologer

    答えて

    0

    iframe要素はそれを行うことはできませんいただきありがとうございますが、代替として、あなたはアンカータグを追加することができます。

    var iFrameBlock = $("<iframe>").attr({ 
        "id": "iframe", 
        "src": base64file_encode, 
        "width": "100%", 
        "height": "100%", 
        "frameborder": "0" 
    }); 
    var aTag = $("<a>Dwonload</a>").attr({ 
        "href": base64file_encode, 
        "download": "yourName.pdf" 
    }); 
    $("#previewPDF").html(iFrameBlock); 
    aTag.insertAfter($("#iframe")); 
    

    Regards、KJ。

    関連する問題