当前位置: 首页 > news >正文

下载后端返回的图片,而不是打开图片

使用 window.location.href 和 window.open 后都是打开图片,原因是,当浏览器发现是浏览器支持的文件类型,例如 jpg、png、svg 等,默认是浏览器打开。

解决

fetch + createObjectURL
fetch 转换为 blob 对象
createObjectURL() 静态方法创建一个用于表示参数中给出的对象的 URL 的字符串

function downloadImg(url) {fetch(url, {headers: new Headers({Origin: location.origin,}),mode: 'cors',}).then((res) => {if (res.status == 200) {// 生成 blob 对象return res.blob();}throw new Error(`status: ${response.status}.`);}).then((blob) => {download(blob, 'image');});}function download(blob: Blob, filename?: string) {const a: any = document.createElement('a');a.download = filename;const blobUrl = URL.createObjectURL(blob);a.href = blobUrl;document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(blobUrl);}
http://www.lryc.cn/news/390798.html

相关文章:

  • ELISA实验前,需要做好哪些准备?
  • 浅谈 Linux 中的 core dump 分析方法
  • 自研直播系统-直播系统实战
  • python数据分析入门学习笔记
  • SyntaxError: invalid character in identifier 解决方案
  • 装箱问题汇总
  • 你的B端系统考虑移动化了?还没?那就小心out了。
  • 大数据招商的应用场景及实施路径有哪些?
  • 【C++】 C/C++预处理器介绍
  • MySQL—创建查看删除备份恢复数据库
  • 1.4 ROS2集成开发环境搭建
  • 数组和对象在内存中的区别
  • 智能胎教仪,科技与教育的融合-N9301胎教仪语音方案
  • 代码随想录2链表
  • Java8新特性常见用法
  • Web3 前端攻击:原因、影响及经验教训
  • C++ 如何解决回调地狱问题
  • 普利姆最小生成树算法 c++
  • Golang 依赖注入设计哲学|12.6K 的依赖注入库 wire
  • ubuntu 23 连接正点imx6ull的uboot网络设置(nfs和tftp)
  • CC6利用链分析
  • 多线程编程的基本概念,C++标准库中的多线程支持(std::thread,std::async),如何处理线程同步和并发问题。
  • Linux的Socket开发概述
  • LLM调优,大模型怎么学
  • XLSX + LuckySheet + LuckyExcel实现前端的excel预览
  • 在Ubuntu上创建和启用交换文件的简单步骤
  • Java [ 基础 ] HashMap详解 ✨
  • vue2项目迁移vue3与gogocode的使用
  • 【Python123题库】#数列求和 #百分制成绩转换五分制(循环) #正负交错数列前n项和 #求数列前n项的平方和
  • Edge浏览器选中后,出现AI智能生成 AI专业写作