アップロード機能はよく作成するのですが、ダウンロードは初めてだったので記事にしました
機能自体は本当に簡単に実装することができるので、コピペでも動きます
// tsファイル
download_file(path: string) {
(async () => {
// fetchでアクセス.
const res = await fetch("http://localhost:5000/" + path);
// Blob形式でデータ取得.
const blob = await res.blob();
const url = window.URL.createObjectURL(blob);
let title = "Angular_sample_file";
// aタグを作成して無理やりクリック -> ダウンロード機能発火
let a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = title;
a.click();
window.URL.revokeObjectURL(url);
})();
}
// htmlファイル
<div (click)="download_file('https://wired.jp/wp-content/uploads/2018/01/GettyImages-522585140.jpg')"
※画像はこちらのリンクを利用させていただいております Wired様リンク
実際に動かすとダウンロードされ、
このように画像を開くことができます!
参考にした記事



コメントを残す