63

JavaScript を介して強制的にダウンロードしたいサーバーからの base64 でエンコードされた画像があります。可能ですか?

4

10 に答える 10

85
  1. JavaScript を使用して (バックエンドなしで) ダウンロードする場合は、次を使用します。

    window.location.href = 'data:application/octet-stream;base64,' + img;
    

    imgbase64 でエンコードされた画像はどこにありますか。

  2. ユーザーがファイル名を指定できるようにする場合は、タグのdownload属性を使用します。a

    <a download="FILENAME.EXT" href="data:image/png;base64,asdasd...">Download</a>
    
    • 注意: ダウンロード属性は非常に古いブラウザではサポートされていません
于 2012-12-23T12:49:26.230 に答える
6

私の Angular アプリでは、サーバーから base 64 ファイルを取得しています。

Html で:-

<button type="button" (click)="downloadFile(fileName,base64data,fileType)"></button>

Ts:-

  downloadFile(fileName:string,data: any,fileFormat:string): void {
    const linkSource = 'data:'+fileFormat+';base64'+data;
    const downloadLink = document.createElement("a");
    downloadLink.href = linkSource;
    downloadLink.download = fileName;
    downloadLink.click();
}
于 2020-11-25T07:26:46.387 に答える