温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在vue中通过a下载exe文件的方法

发布时间:2021-02-22 16:03:11 来源:亿速云 阅读:935 作者:清风 栏目:开发技术

这篇“在vue中通过a下载exe文件的方法”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“在vue中通过a下载exe文件的方法”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

  在vue中通过a下载exe文件方法一:

  注意:如果下载的文件放在本地目录下,一定要将模板文件放到public目录下,否则由于权限问题找不到文件

  路径:项目更目录--》public--》tpls--》下载模板.xls

  1.1直接使用a标签+download属性

<a:href="downUrl"target="_blank":download="downNm">下载{{downTplNm}}模板</a>
  1.2定义文件下载地址和文件名
  methods:{
  type2Obj:function(type){
  switch(type){
  case:'wl':
  this.downTplNm="白名单",
  this.downUrl="../tpls/白名单模板.xls",
  this.downNm="白名单模板.xls"
  }
  }
  }

  在vue中通过a下载exe文件方法二:

  有时候我们需要将文件下载下来而不是直接打开,使用方法一可以实现部分文件下载,但是图片或者PDF等类似文件就会直接打开,这是浏览器默认的行为,有没有方法阻止这种默认的行为,点击a标签的链接执行的都是下载行为呢?另外Chrome对跨域下载文件的支持并不友好,这里提供了一个有效的解决方案:

  2.1使用a标签绑定事件

  下载{{downTplNm}}模板</a>

  2.2定义下载方法

  避免CORS问题的一种方法是通过XHR请求获取文件并将文件作为blob,这里使用了axios,但是你可使用你想要的任何lib

  importAxiosfrom'axios'
  methods:{
  downloadItem(url){
  Axios.get(url,{responseType:'blob'})
  .then(({data})=>{
  //为了简单起见这里blob的mime类型固定写死了
  letblob=newBlob([data],{type:'application/vnd.ms-excel'})
  letlink=document.createElement('a')
  link.href=window.URL.createObjectURL(blob)
  link.download=url.split('/').pop()
  link.click()
  .catch(error=>{
  console.error(error)
  })
  })
  }
  }

以上是“在vue中通过a下载exe文件的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI