私はbase64で作成されたblobを持っています。このデータをPDFとしてダウンロードできるようにする必要があります。
私はこのスニペットを作成しました:
var blob = new Blob([byte]);
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.target = '_blank';
var fileName = name + '.pdf';
link.download = fileName;
link.click();
IOSのSafariモバイル以外のすべてのブラウザーで動作します。
ファイルは実際にダウンロードされますが、その名前は「不明」であり、拡張子が失われるため、開くことができません。
問題は download属性 がこのブラウザとIEでサポートされていないことです。
IEには多くの回避策がありますが、safari/iOSには何も見つかりませんでした。
このブラウザーでbase64(XHRは関与しない)から取得したblobをダウンロードする方法を知っていますか?
ありがとうございました
Safariの「target」属性が「download」属性をオーバーライドしているようです。現在、私の知る限り、これを解決する方法はありません。したがって、数か月後にリリースされる次のSafariバージョン(13)を待つ必要があると思います。