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


相关推荐

  • c语言中图书管理系统_C语言图书管理系统源代码

    c语言中图书管理系统_C语言图书管理系统源代码目录C语言图书管理系统文件数据库(功能巨多,反复操作无bug)简介题目要求实现的功能readme代码C语言图书管理系统文件数据库(功能巨多,反复操作无bug)简介c语言的一个大作业,发上来纪念下嘿嘿。写的不是很好,很多东西都揉在一起来,不过注释写的也挺多,希望能帮到有需要的朋友。题目要求简单文件数据库-模拟图书馆管理系统涉及知识点:文件读写、内存管理、结构体定义、基本数据结构、高级格式化输入输出要求:编写一个程序模拟图书管理系统。用户分为管理员和读者两类,分别显示不同文本格式菜单,通过菜

    2022年10月7日
    4
  • PS磨皮滤镜Portraiture2.3简体中文绿色版32b/64b

    PS磨皮滤镜Portraiture2.3简体中文绿色版32b/64b磨皮滤镜Portraiture简单介绍  Portraiture是一款Photoshop的插件,用于人像图片润色,减少了人工选择图像区域的重复劳动。它能智能地对图像中的皮肤材质、头发、眉毛、睫毛等部位进行平滑和减少疵点处理!      Portraiture是极负盛名的专业人像磨皮滤镜,堪称磨皮神镜,仰望土豪器材党的屌丝团必备。算法优秀,不会造成处理后

    2022年7月22日
    14
  • SpringBoot集成拦截器[通俗易懂]

    SpringBoot集成拦截器[通俗易懂]集成拦截器登录验证为例添加拦截器public class LoginInterceptor implements HandlerInterceptor { private Logger log = LoggerFactory.getLogger(getClass()); //Controller逻辑执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletRe

    2022年8月9日
    6
  • mac OS 10.15 catalina内录声音同时使用quicktime录屏教程

    mac OS 10.15 catalina内录声音同时使用quicktime录屏教程首先安装BlackHolehttps://github.com/ExistentialAudio/BlackHole其次根据这个教程在MIDI里面设置多输出设备https://github.com/ExistentialAudio/BlackHole/wiki/Multi-Output-Device在多输出设备里面排序使得内建输出排第一个,同时给内建输出和BlackHole都打上勾选…

    2022年5月20日
    46
  • 路径规划-人工势场法(Artificial Potential Field)

    路径规划-人工势场法(Artificial Potential Field)人工势场法是局部路径规划的一种比较常用的方法。这种方法假设机器人在一种虚拟力场下运动。1.简介如图所示,机器人在一个二维环境下运动,图中指出了机器人,障碍和目标之间的相对位置。这个图比较清晰的说明了人工势场法的作用,物体的初始点在一个较高的“山头”上,要到达的目标点在“山脚”下,这就形成了一种势场,物体在这种势的引导下,避开障碍物,到达目标点。人工势场包括引力场合斥力场,其中目标点对物体产生引力,引导物体朝向其运动(这一点有点类似于A*算法中的启发函数h)。障碍物对物体产生斥力,..

    2022年6月22日
    44
  • QT 文件操作 QFile

    QT 文件操作 QFile输入/输出设备QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile、QBuffer和QTcpSocket等支持读/写数据块的设备提供了一个抽象接口。QIODevice类是抽象的,无法被实例化,一般是使用它所定义的接口来提供设备无关的I/O功能。文件QFileQFile类提供一个用于读/写文件的接口,它是一个可以用来读写文本文件、二进制文件…

    2022年6月12日
    28

发表回复

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

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