js/vue一个简单的批量下载图片方法

js/vue一个简单的批量下载图片方法

方法如下:

   clickExport() {
       //如果没有跨越问题直接用图片地址
      let arry = ["/api/token/images/beth_32.png?v=1", "/api/token/images/dai_32.png"];
      (arry.forEach(function (url, index) {
        setTimeout(() => {//setTimeout是为了防止arry太多导致下载终端机
          let link = document.createElement('a')
          // 这里是将url转成blob地址,
          fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
            link.href = URL.createObjectURL(blob)
            let temp = url.split("?");
            temp = temp[0].split("/");
            let name = temp[temp.length - 1];//获得图片名字
            link.download = name;
            document.body.appendChild(link);
            link.click()
          })
        }, index * 1000)//1000是为了使得浏览器能稳定下载  这个时间可自调建议大于500 
      }))
    }
      

注意:
1,关闭浏览器每次下载询问下载位置功能
2,vue跨越在vue.config.js文件

module.exports = {
  //。。。。。。
  //添加下面配置并重新run
  devServer: {
    proxy: {  //配置跨域
      '/api': {
        target: 'http://xxxxxx',  //写导致跨越的域名或ip
        changOrigin: true,  //允许跨域
        pathRewrite: {
          /* 重写路径,当我们在浏览器中看到请求的地址为:http://localhost:8080/api/yyyy 时
            实际上访问的地址是:http://xxxxxx/yyyy,因为重写了 /api
           */
          '^/api': ''
        }
      },
    }
  },
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值