我想显示“另存为”对话框,以供用户存储来自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();
}