2017-07-22 4 views
0

動作しない私は、リンク、 上のファイルのダウンロードを設定しようとしましたが、私は、文書の所望のタイトルを設定することはできませんよ。ここdocument.pdfjs fiddleあるとして、それはデフォルトの名前を取ります。設定タイルが

HTML

<a id='dwnldLnk' onclick="downloadPDF();">fdfdfd </a> 

JAVASCRIPT

window.downloadPDF = function downloadPDF() { 
    var dlnk = document.getElementById('dwnldLnk'); 
    dlnk.href = pdf; 
    dlnk.download = "abc.pdf"; 
    dlink.click(); 
} 
var pdf = "http://fortress-api-dev.herokuapp.com/api/documents/4015fbba21c84c0d83409565662887fe"; 
+1

Serverは、あなたがそれをクライアント側を行うことができないので、コンテンツDisposition'ヘッダーがdownload'属性は 'ので'設定しますhttps://developer.mozilla.org/cs/docs/Web/HTML/Element/a#attr-download –

+0

@ A.Wolffあなたは、そのURLレスポンスのヘッダーにTitleを設定する必要がありますか? – user3288891

+1

タイトルでファイル名を意味する場合は、はい –

答えて

2

あなたはダウンロードは、新しいファイル名を定義するための属性を使用し、それが拡張ファイルを持っている必要があります。 しかし、あなたは、あなたのケースでは、media_typeこのセットアプリケーションを使用することができます/ PDF

window.downloadPDF = function downloadPDF() { 
var dlnk = document.getElementById('dwnldLnk'); 
var media_type_pdf = "data:application/pdf;" 
dlnk.href = `${media_type_pdf}${pdf}`; 
dlnk.download = "abc.pdf"; 
//dlink.click(); 
} 
var pdf = "http://fortress-api-dev.herokuapp.com/api/documents/4015fbba21c84c0d83409565662887fe"; 
1
fileType = ('data:application/vnd.ms-'+type); 
    //type can be pdf,csv,xls...... 
     extension ='xls'; 
     fileName = (name+"." + extension); 
     blob = new Blob([ file ], { type: fileType }); 
     //file is your content 
     url = window.URL.createObjectURL(blob); 
     a = document.createElement("a"); 
     // Set link on DOM. 
     document.body.appendChild(a); 
     // Set link's visibility. 
     a.style = "display: none"; 
     // Set href on link. 
     a.href = url; 
     // Set file name on link. 
     a.download = fileName; 
     // Trigger click of link. 
     a.click(); 
関連する問題