Firefox中未出现“另存为”对话框,无法下载图像

时间:2019-04-23 17:21:56

标签: html angular image firefox

我想显示“另存为”对话框,以供用户存储来自Firefox的图像,但是没有出现。但是,当我从谷歌浏览器中打开它时,可以看到该框出现。

我对此进行了研究,但找不到任何东西。

有人对此有想法吗?为什么它不能在Firefox中运行,而只能在Chrome中运行?

请帮助我或向我提出建议,以便它可以与Firefox一起使用。

下面是我下载图片的代码。

  downloadOriginalImage(url: string, viewImage: boolean) {
    const imageUrl = url.replace('/jpghigh', '');
    const headers = new Headers();
    headers.append('Accept', 'application/json');
    const options = new RequestOptions({ headers: headers, responseType: ResponseContentType.ArrayBuffer });
    return this.http.get(imageUrl, options)
      .toPromise()
      .then(
        response => {
          ProduktService.extractContent(response, viewImage);
        }).catch(
          error => ProduktService.handleError(error)
        );
  }

  private static extractContent(res: Response, viewImage: boolean) {
    const blob: Blob = res.blob();
    const mainHead = res.headers.get('content-disposition');
    const url = window.URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.href = url;
    a.download = 'image.jpg';
    a.target = '_blank';
    a.click();
    a.remove();
  }

0 个答案:

没有答案