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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java报表软件设计–数据墨水让报表表格数据更快,更准确的显示

    Java报表软件设计–数据墨水让报表表格数据更快,更准确的显示

    2021年8月19日
    48
  • 互联网java软件工程师

    互联网java软件工程师职位诱惑:高并发,分布式,氛围好,待遇不错职位描述:岗位职责:1、负责公司支付、推荐、云服务、应用商店、账号、开发者平台、论坛等系统的分析设计、开发实现和持续改善;2、参与产品分析和规划,完善和优化开发过程;3、研究和实践相关技术及实现原理。岗位要求:1、本科及以上学历,3年以上java开发经验;2、精通Java语言,熟练掌握JavaWEB

    2022年9月15日
    0
  • 常见算法:C语言求最小公倍数和最大公约数三种算法

    常见算法:C语言求最小公倍数和最大公约数三种算法

    2021年12月15日
    57
  • SHFileOperation DeleteFolder

    SHFileOperation DeleteFolder分类:C/C++BOOLDeleteFolder(LPCTSTRlpszPath){  SHFILEOPSTRUCTFileOp; ZeroMemory((void*)&FileOp,sizeof(SHFILEOPSTRUCT));  FileOp.fFlags=FOF_NOCONFIRMATION;  FileO

    2022年7月18日
    16
  • MySQL 常用语句_MySQL常用命令

    MySQL 常用语句_MySQL常用命令数据库#查看所有的数据库SHOWDATABASES;#创建一个数据库CREATEDATABASEk;#删除一个数据库DROPDATABASEk;#使用这个数据库USEk;表#查看所有的表SHOWTABLES;#创建一个表CREATETABLEn(idINT,nameVARCHAR(10));CREATETABLEm(idINT,…

    2022年9月5日
    2
  • 数列所有公式大全_finish验证失败是什么意思

    数列所有公式大全_finish验证失败是什么意思请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线 _ 表示实际输入文件中的空格)输入格式第 1 行包含两个数 N 和 M,N 表示初始时数列中数的个数,M 表示要进行的操作数目。第 2 行包含 N 个数字,描述初始时的数列。以下 M 行,每行一条命令,格式参见问题描述中的表格。输出格式对于输入数据中的 GET-SUM 和 MAX-SUM 操作,向输出文件依次打印结果,每个答案(数字)占一行。数据范围与约定你可以认为在任何时刻,数列中至少有 1 个数。输入

    2022年8月9日
    4

发表回复

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

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