2016-11-09 13 views
5

Mam raport PDF w base64, chcę pokazać plik osadzony na stronie HTML. Aby to zrobić, używam iFrame i działa, ale problem polega na tym, że nie mogę ustawić nazwy pliku PDF, aby po pobraniu była zapisywana z przypisaną nazwą.Jak ustawić nazwę pliku base64 pdf w elemencie iframe?

Czy mogę ustawić nazwę pliku ?, jeśli tak, w jaki sposób mogę to zrobić?

to mój kod:

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

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

I gdy próbuję pobrać plik, nazwa zostać zapisany jest "pobierz.pdf" Save dialog

Próbowałem różnych sposobów, ale nie działają też:

  1. Dodanie atrybutu download = "filename.pdf"

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

  2. próbowałem zmienić wartość wewnątrz iframe, ale nie mogłem znaleźć właściwego atrybutu i Chrome zaprzeczył akcji.

    
     
        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"); 
     
        
     
    

Jednakże chcę zapobiec używać innych bibliotekę.

Dziękuję za poświęcony czas

+0

znaleźć jakiś sposób, aby go rozwiązać? –

+1

jeszcze nie, ale użyłem ścieżki pliku – Tecnologer

Odpowiedz

0

Element iframe nie mogę tego zrobić, ale jako alternatywę można dodać znacznik zakotwiczenia.

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")); 

Pozdrawiam, KJ.

Powiązane problemy