Vue——实现文件上传(单文件)和文件下载

本文介绍了如何在Vue中实现单文件上传和文件下载的功能,包括上传的处理和下载的触发方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、文件上传

		<el-input v-model="fileName"></el-input>
        <el-button @click="choseFile" plain
          ><span class="upLoad iconfont icon-shangchuan"></span
          >点击上传</el-button
        >
        <input
          id="fileInput"
          style="display:none;"
          type="file"
          @change="addFile"
          ref="inputer"
          accept="application/x-gzip"
          @click="test"
        />
        <el-button @click="submitFile">提交</el-button>

import { api } from '@/services/API';

data(){
	return {
		formData: new FormData(),
        fileName: '',
		file: {},
		emptyFile: ''
		}
	}

methods:{
    test() {
      this.formData = new FormData();
      this.emptyFile = this.$refs.inputer[0].files;
    },
    choseFile() {
      // 选择文件
      let fileInput = document.getElementById('fileInput');
      fileInput.click();
    },
    addFile() {
      // 添加文件
      let inputDOM = this.$refs.inputer[0];
      if (inputDOM.files[0]) {
        this.file = inputDOM.files[0];
        this.fileName = this.file.name;
        this.formData.append('file', this.file);
      }
    },
	submitFile(){
		api(this.formData).then(res=>{
			console.log('文件上传成功')
            // 清空选中的文件
            this.$refs.inputer[0].files = this.emptyFile;
            this.fileName = '';
		})
	}
}

二、文件下载

window.location.href = 'url';//这个url是你文件下载的路径(后端提供的)
或者:
<a href="url" download="fileName">下载文件</a>
或者:
var link = document.createElement("a");
link.setAttribute("download", "");
link.href = "url";
link.click();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值