1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScript/jQueryを使ったファイルのダウンロード

2022-05-04 15:51:20

質問

私は非常によく似た要件が指定されている こちら .

のとき、ユーザーのブラウザが手動でダウンロードを開始するようにしたいのですが。 $('a#someID').click();

しかし、私は window.href メソッドを使用すると、現在のページのコンテンツがダウンロードしようとしているファイルに置き換えられてしまうからです。

その代わり、ダウンロードを新しいウィンドウやタブで開きたいのですが。どうすればいいのでしょうか?

解決方法を教えてください。

見えない <iframe> :

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
    document.getElementById('my_iframe').src = url;
};
</script>

ブラウザがレンダリングできるファイル(HTMLやテキストファイルなど)を強制的にダウンロードさせるには、サーバー側でそのファイルの MIMEタイプ のような無意味な値に設定します。 application/x-please-download-me またはその代わりに application/octet-stream これは、任意のバイナリデータに使用されます。

新しいタブで開きたいだけなら、ユーザがその target 属性に _blank .

jQueryで。

$('a#someID').attr({target: '_blank', 
                    href  : 'http://localhost/directory/file.pdf'});

そのリンクがクリックされるたびに、新しいタブ/ウィンドウにファイルがダウンロードされます。