elementui 按钮 表单_前后端分离,文件上传下载(springBoot+vue+elementUI)

本文详述了如何使用SpringBoot后端结合Vue和ElementUI前端实现文件的上传和下载功能。前端通过模板和脚本代码实现上传限制与下载链接,后端涉及类定义、上传路径及方法。完整代码和关键步骤均有分享。
摘要由CSDN通过智能技术生成

1.介绍

本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel,都是可以上传下载的,前端就是一个页面,后端就是一个controller页面,就可以解决

1.1前端样子

4a297cc710820c739e2acfafa4413e68.png

2.前端

2.1先分享一下前端的全部代码

<template>  <div>    <center>    center>    <div style="float: left;margin-left: 100px">      <el-button type="primary"  v-on:click="tocustomQuery" >上一步el-button>    div>    <div style="float: right;margin-right: 100px">      <el-button type="primary"  v-on:click="saveResource" >保存el-button>    div>        <br>        <h1>基本信息设置h1>    <br>    <br>    <center>    <div style="margin-right: 170px">  <el-form ref="form" :model="form" label-width="120px" >    <el-form-item label="报表名称中文:" style="width: 470px;">      <el-input v-model="form.reportName" >el-input>    el-form-item>    <el-form-item label="报表名称英文:" style="width: 470px;">      <el-input v-model="form.reportEnName">el-input>    el-form-item>    <el-form-item label="报表名称中英文:" style="width: 470px;">      <el-input v-model="form.reportChEnName">el-input>    el-form-item>    <el-form-item label="报表备注:" style="width: 470px;">      <el-input v-model="form.remarks">el-input>    el-form-item>    <el-form-item label="功能编号" style="width: 470px;">      <el-input v-model="form.code" >el-input>    el-form-item>    <el-form-item label="编辑模板:" style="width: 570px;">      <el-input placeholder="模板地址" style="width: 200px" disabled>el-input>      <el-upload class="upload-demo"                 :action="uploadUrl"                 :before-upload="handleBeforeUpload"                 :on-error="handleUploadError"                 :before-remove="beforeRemove"                 multiple                 :limit="5"                 :on-exceed="handleExceed"                 :file-list="fileList">        <el-button size="small" type="primary">点击上传el-button>      el-upload>      <a href="http://localhost:8080/file/download?fileName=test.xls">下载附件a>    el-form-item>    <el-form-item label="模板备注:"  style="width: 480px;">      模板用于下载,打印EXCEL时使用。其中{ {CURRENT_USER} }表示当前用户名,      { {TITLE} }表示表头,{ {DATA} }表示数据行,{ {FOOTER} }表示页脚区域。      导出的内容不可改动,页眉页脚区域可以自由编辑。    el-form-item>    <el-form-item >      <el-select v-model="form.isPublic" style="width: 350px;">        <el-option label="私有查询" value="2" >el-option>        <el-option label="公共查询" value="1">el-option>      el-select>    el-form-item>    <el-form-item >        <el-checkbox label="是否打印" v-model="form.isPrinting" true-label="1" false-label="2">el-checkbox>        <el-checkbox label="是否导出" v-model="form.isExport" true-label="1" false-label="2">el-checkbox>      <el-form-item  type="hidden" style="width: 470px;">      el-form-item>    el-form-item>  el-form>    div>    center>  div>template><script>import axios from 'axios'import { uuid } from 'vue-uuid';export default {
      data() {
        return {
          form: {
            reportName:'',        reportEnName:'',        reportChEnName:'',        remarks:'',        code:'',        isPublic:'1',        isPrinting:"1",        isExport:"1",        datas:[{},{},{},{}],        A0010011:'',        A0010012:'',        A0010013:'',        A0010014:'',      },      // uuid1:'',      // cusList:{},      uploadUrl: 'file/upload',      fileList: [],    }  },  created() {
        console.log("上个页面传来的是",sessionStorage)    // this.handleUUIDv1()    this.form.code = this.$uuid.v1()    console.log("页面刷新后新产生的uuid是",this.form.code)   },  watch:{
        reportName: function (newVal,oldVal) {
    //新值和原值      console.log("name改变了 a:"+newVal+"    b:"+oldVal)    }  },  methods: {
        //使用uuid    // handleUUIDv1() {
        //   this.uuid1 = this.$uuid.v1()    // },    //点击多选按钮true和false变成1或者2    reset(form){
          this.$refs['form'].resetFields();    },    //获取上个页面传来的数据    getcustomQuery() {
          let reportName=this.form.reportName      sessionStorage.setItem("reportName",reportName)      let reportEnName = this.form.reportEnName      sessionStorage.setItem("reportEnName",reportEnName)      let reportChEnName = this.form.reportChEnName      sessionStorage.setItem("reportChEnName",reportChEnName)      let remarks = this.form.remarks      sessionStorage.setItem("remarks",remarks)      let code = this.form.code      sessionStorage.setItem("code",code)      let isPublic = this.form.isPublic      sessionStorage.setItem("isPublic",isPublic)      let isPrinting = this.form.isPrinting      sessionStorage.setItem("isPrinting",isPrinting)      let isExport = this.form.isExport      sessionStorage.setItem("isExport",isExport)      console.log("上个页面传来的是",sessionStorage)    },    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值