Vue文件上传、下载

Vue文件上传、下载代码示例:文件上传到接口,对接口返回的文件进行下载。<template><divclass=”hello”><h1>{{msg}}</h1><inputtype=”file”@change=”uploadFile($event)”accept=”.sql,.excel,.txt”/></div></template><script>exportdefau

大家好,又见面了,我是你们的朋友全栈君。

代码示例:文件上传到接口,对接口返回的文件进行下载。

<template>
  <div class="hello">
    <h1>{
  
  { msg }}</h1>
    <input type="file" @change="uploadFile($event)" accept=".sql,.excel,.txt"/>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  methods: {
    uploadFile: function (event) {
      //将接收到的文件以表单形式post到接口
      let file = event.target.files[0];
      let formData = new FormData();
      formData.append('file', file);
      let config = {
        headers: {'Content-Type': 'multipart/form-data'},//文件上传配置
        responseType:'arraybuffer'//文件下载配置
      }
      this.$axios
          .post('/api/action/sql_to_word', formData, config)//进行了跨域代理
          .then((response => {
            //对返回的文件流进行下载
            let url = window.URL.createObjectURL(new Blob([response.data])) //创建下载链接
            let link = document.createElement('a') //创建a标签
            link.style.display = 'none'  //将a标签隐藏
            link.href = url  //给a标签添加下载链接
            link.setAttribute('download', 'abc.docx') // 此处注意,要给a标签添加一个download属性,属性值就是文件名称 否则下载出来的文件是没有属性的,空白白
            document.body.appendChild(link)
            link.click()  //执行a标签
          }))
    }
  }
}
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148649.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bool型函数「建议收藏」

    bool型函数「建议收藏」bool介绍C++中bool函数如果值非零就为True,为零就是False。比如写数据结构的时候,有时候需要判断一下链表是不是为空,这时候需要用到bool函数,再者,你看到bool就知道这个函数返回值只是用于判断真假。bool函数返回的只有true和false。而int会返回各种数字,但是你关心的不是数字的多少,而是这个数字为不为0.所以这种情况用bool会更加简洁,规范,你看到bo…

    2022年6月5日
    32
  • 常用lunix命令面试题_五个常见的linux命令

    常用lunix命令面试题_五个常见的linux命令常用Lunix命令

    2022年10月3日
    3
  • Repeater嵌套Repeater

    Repeater嵌套Repeater
    前台页面部分:

     
        

     
       
       

    2022年7月14日
    15
  • 点餐程序android,Android点餐系统教程(登陆篇)

    点餐程序android,Android点餐系统教程(登陆篇)前言:点餐系统融合知识也不少,最多的部分都是网络。本教程是本人亲自写。若有转载,需写明原做者喔。点餐系统做用性我懒的说,何时想到了再编辑吧。html准备工做:1.JavaEE的eclipse。固然你eclipse能建web项目也能够2.mysql和Navicatformysql,由于服务器须要用mysql做为后台数据库。Navicatformysql是管理mysql可视化软件。3.Tom…

    2022年6月19日
    27
  • 1.23 lseek函数[通俗易懂]

    1.23 lseek函数[通俗易懂]参考:牛客网C++高薪求职项目《Linux高并发服务器开发》1.22read、write函数专属优惠链接:https://www.nowcoder.com/courses/cover/live/504?coupon=AvTPnSG

    2022年6月24日
    25
  • ubuntu如何卸载docker_ubuntu卸载干净

    ubuntu如何卸载docker_ubuntu卸载干净Ubuntu卸载Docker方法卸载旧版本的方法:旧版本的docker名字叫docker,docker.io,或者docker-engine#删除docker命令acestang@acestang:~$sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc#删除docker默认安装的文件acestang@acestang:~$sudorm-rf/var/lib/docker/#通过doc

    2022年10月21日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号