JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)

简介: JS 下载 URL 链接文件(点击按钮、点击a标签、支持代理与非代理下载)

一、简介

  • dowload.js(导入项目即可使用,根据项目框架调整导出方式),Demo示例地址
  • 注意:a 标签中 download 属性可以更改下载文件的文件名。但是如果是跨域的话,download 属性就会失效,所以通过 a 标签下载的时候,传入的 filename 没有生效,则需要检查是否跨域了。
  • 支持 原生 使用,也支持 VueReact 等使用。

二、Vue 使用

  • vue.config.js 代理配置,配置文件有调整需要重新启动项目,注意:这里配置的代理,服务器端也需要配置上,否则无法生效,下载也会失败
devServer: {
  // 端口号
  port: 8080,
  // 配置不同的后台API地址
  proxy: {
    '/dowload1': {
      target: 'https://gimg2.baidu.com',
      ws: false,
      changeOrigin: true,
      pathRewrite: {
        '^/dowload1': ''
      }
    },
    '/dowload2': {
      target: 'https://scpic.chinaz.net',
      ws: false,
      changeOrigin: true,
      pathRewrite: {
        '^/dowload2': ''
      }
    }
  }
}
  • 页面使用
<template>
  <div>
    <div class="dowload-btn" @click="touchProxyDowload1">按钮-代理下载</div>
    <div class="dowload-btn" @click="touchProxyDowload2">按钮-代理下载-自定义文件名</div>
    <div class="dowload-btn">
      <a href="/dowload2/files/pic/pic9/202103/hpic3704.jpg" download>a标签-代理下载</a>
    </div>
    <div class="dowload-btn">
      <a href="/dowload1/image_search/src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201311%2F17%2F174124tp3sa6vvckc25oc8.jpg&refer=http%3A%2F%2Fattach.bbs.miui.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1618976641&t=ca698f4ed0e96eb2f269ccff644bda03" download="avatar.jpg">a标签-代理下载-自定义文件名</a>
    </div>
  </div>
</template>
<script>
import { DOWLOAD_FILE, DOWLOAD_FILE_PRO } from './dowload'
export default {
  data () {
    return {
      // 下载测试连接,百度随便搜的图片地址:
      // https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201311%2F17%2F174124tp3sa6vvckc25oc8.jpg&refer=http%3A%2F%2Fattach.bbs.miui.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1618976641&t=ca698f4ed0e96eb2f269ccff644bda03
      // https://scpic.chinaz.net/files/pic/pic9/202103/hpic3704.jpg
    }
  },
  methods: {
    // 按钮-代理下载(代理配置存放在 vue.config.js,也可以放在服务器中配置)
    touchProxyDowload1 () {
      // 有后缀的则会使用当前后缀图片名称,也可以像上面那样自定义
      DOWLOAD_FILE('/files/pic/pic9/202103/hpic3704.jpg', '/dowload2')
    },
    // 按钮-代理下载-自定义文件名(代理配置存放在 vue.config.js,也可以放在服务器中配置)
    touchProxyDowload2 () {
      // 这种没有后缀的图片需要自己传入图片名称带后缀.png .jpg ...
      DOWLOAD_FILE_PRO('/image_search/src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201311%2F17%2F174124tp3sa6vvckc25oc8.jpg&refer=http%3A%2F%2Fattach.bbs.miui.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1618976641&t=ca698f4ed0e96eb2f269ccff644bda03', 'avatar.png', '/dowload1')
    }
  }
}
</script>
  • Demo效果


目录
打赏
0
0
0
0
268
分享
相关文章
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
46 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
Puppeteer自动化:使用JavaScript定制PDF下载
在现代Web开发中,自动化工具如Puppeteer可显著提升效率并减少重复工作。Puppeteer是一款强大的Node.js库,能够控制无头Chrome或Chromium浏览器,适用于网页快照生成、数据抓取及自动化测试等任务。本文通过示例展示了如何使用Puppeteer自动化生成定制化的PDF文件,并介绍了如何通过配置代理IP、设置user-agent和cookie等技术增强自动化过程的灵活性与稳定性。具体步骤包括安装Puppeteer、配置代理IP、设置user-agent和cookie等,最终生成符合需求的PDF文件。此技术可应用于报表生成、发票打印等多种场景。
251 6
Puppeteer自动化:使用JavaScript定制PDF下载
|
19天前
|
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
37 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
Node.js 中实现多任务下载的并发控制策略
Node.js 中实现多任务下载的并发控制策略
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
68 0
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
JavaScript获取url网址中域名后面的部分
如何截取 url 中网站域名之后的部分,需要用到以下几个方法:
118 3
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单
138 0
Node.js实现短链接(ShortLink):shortid、epxress让URL更简单

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等