点击下载图片分两种:
1、一种是同源地址图片(也就是本地本项目中的图片);
2、另一种是不同源的图片;(不同域名下,比如阿里云 七牛云上的图片)

下面我们就具体说一下这两种图片下载的方式:
第一种(同源)下载:
利用a标签下载, a标签有一个download的属性,添加了该属性,a标签将直接下载文件,并根据download属性的值设置下载文件的文件名,不为download属性设置值则文件将以默认文件名下载:

如:

<!-- 文件名为默认名称 -->
<a href="./baidu_jgylogo3.gif" download />
<!-- 文件名为baidu.gif -->
<a href="./baidu_jgylogo3.gif" download="baidu" />
<!-- 文件名为baidu.png -->
<a href="./baidu_jgylogo3.gif" download="baidu.png" />

注意,它仅支持同源链接下载,非同源链接还是会直接打开图片:
如非同源 <a href="http://www.baidu.com/img/baidu_jgylogo3.gif" download />

第一种(不同源)下载:

直接上代码

var x=new XMLHttpRequest();x.open("GET", "http://danml.com/wave2.gif", true);x.responseType = 'blob';x.onload=function(e){var url = window.URL.createObjectURL(x.response)var a = document.createElement('a');a.href = urla.download = ''a.click()}x.send();

在点击事件里添加以上代码即可!亲测有效

有帮助的码客们点赞呦!

JS实现浏览器点击下载图片相关推荐

  1. js如何在浏览器中运行php文件下载,JavaScript_用JS在浏览器中创建下载文件,但受限于浏览器,很多情况下 - phpStudy...

    用JS在浏览器中创建下载文件 但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打开->另存为.如下面这个链接: file.js 用户点击这个链接的时候,浏览器会打开并显示链接指向的文件 ...

  2. 运用canvas将两张图片画在一起,生成一张新的图片,然后实现点击下载图片

    运用canvas将两张图片img1,img2画在一起,生成一张新的图片img3,然后实现点击下载图片img3 代码如下: <!DOCTYPE html> <html lang=&qu ...

  3. HTML里的a链接download 属性浏览器js点击下载图片

    1.<a>download下载图片具有兼容性 所以需做兼容处理,使其兼容IE,就比较完美了. 2.最近有这方面的需求,从网上看了一些资料,拿过来不能直接使用,把他们整合了一下,作为笔记,方 ...

  4. 【jQuery】jQuery与vue实现点击下载图片 以及js实现批量打包下载图片

    原理:用canvas的toDataUrl() API获取到图片的base64编码,再利用触发a标签事件进行下载.(单张图片下载) 多张图片批量下载导出压缩包需要引入jsZip jQuery实现点击下载 ...

  5. 前端实现点击下载图片

    方法一:使用a标签的download属性. <a href="1.jpg" download="1.jpg">下载图片</a> 注意: ...

  6. 用PHP实现浏览器点击下载各种格式文档的方法详解【txt apk等等】

    [[注:其他文件想设置成下载文件,和下面介绍的方法一致]] 由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点 ...

  7. JS 实现跨域外链下载图片(不支持IE)

    跨域需要服务器设置 function ddd(){// ES6 语法let src = 'https://fenmul.github.io/Sin.gtihub.io/images/qrcode.bm ...

  8. 火狐浏览器点击下载按钮没反应

    本人习惯使用火狐浏览器,最近突然出现点击下载按钮后,没有弹出下载弹窗,下载不了任何东西,网上也查看了很多别人的方法,不怎么管用,后来自己研究进行了一些操作,修复了下载功能,步骤如下: 1.火狐浏览器安 ...

  9. 【vue下载】vue 点击下载图片直接打开问题解决

    问题: 点击下载按钮,用a标签的download属性,会在当前页直接打开图片 使用base64转换也还是如此 最后用了blob转换,问题解决 <el-button type="text ...

最新文章

  1. rpm包安装和卸载,rpm查询,yum工具详解,yum仓库搭建
  2. 状态机复合状态 怎么写代码_状态不属于代码
  3. UIButton和UIimageView
  4. php字符集转换,php字符集转换
  5. MATLAB常用的函数命令
  6. 部署点评Cat监控项目(转)
  7. android cpu型号采集,Android查看CPU型号设备信息等
  8. 关心国事-21世纪经济报道:周鸿祎人治雅虎中国
  9. 简单小巧实用IP端口扫描工具 ScanPort 绿色单文件版
  10. 有哪些VPS云主机值得学生选择?
  11. 全球与中国绿色多元醇市场现状及未来发展趋势
  12. Leetcode 382. Linked List Random Node 以及 水塘抽样算法
  13. mkdir -p的含义
  14. 第5组UI 让你的界面酷炫到底-ViewAniMator之ViewSwitcher、ImageSwitcher(图像切换器)、TextSwitcher(文本切换器)、ViewFlipper
  15. Unity3D添加天空盒
  16. 学算法怎么样?算法工程师薪资前景好吗?
  17. 一分钟了解“#include命令是干啥的”
  18. Linux进程、线程模型,LWP,pthread_self()
  19. pandas玩转excel-> (2)如何利用pandas读取excel数据文件
  20. 2019年 Android 开源框架 排行榜 TOP 60

热门文章

  1. 用组策略统一域中所有客户端桌面
  2. XueTr 确实能删除 spmcenter.exe
  3. 瑞芯微RK3188方案 RK3188方案定制 RK3188性能如何 RK3188软硬件设计定制 RK3188评测
  4. 并行处理及分布式系统 第二章 并行硬件和并行软件
  5. for(auto ite:xxx)
  6. php家教服务系统,基于PHP技术家教信息平台的设计与实现
  7. 旅游指南之十四----西藏风土人情
  8. 【历史上的今天】1 月 3 日:苹果公司正式注册成立;《电脑报》正式创刊;英特尔创始人诞生
  9. Revit 2016 笔记07
  10. 2D激光SLAM算法汇总