vue 文件上传 el-upload(单个文件)

本文介绍了如何在ElementUI中使用`el-upload`组件实现文件导入,通过`http-request`调用接口,根据不同情况设置URL,并处理上传文件和响应结果的处理。
摘要由CSDN通过智能技术生成

小功能剪切:

1、复制组件库组件

其他属性请查看组件库:https://element.eleme.cn/#/zh-CN/component/upload

:http-request   //导入数据的方法(接口)

<el-upload ref="upload" action="" :http-request="importData" :auto-upload="true" :show-file-list="false">
   <el-button size="medium" class="search-btn">
        <i class="el-icon-download"></i>
        导 入
    </el-button>
</el-upload>

2、实现方法

importData(file) {
      let me = this;
      let url = '';
      switch (me.type) {
        case '行业财会监督人才库':
          url = 'XXX';
          break;
        case '师资库':
          url = 'XXX';
          break;
        case '资深会员':
          url = 'XXX';
          break;
        default:
          break;
      }
      if (!url) return;
      const from = new FormData();
      from.append('multipartFile', file.file);//把上传的文件对象传进去,下面展示数据大家查看
      me.$axios({
        url: url,
        method: "post",
        data: from,
        headers: {
          "Content-type": "multipart/form-data;charset=utf-8",//接口里面的Content-Type
        }
      }).then(res => {
        if (res.data.code == 200) {
          me.$message({
            message: '导入成功',
            type: 'success'
          });
          me.getData();
        } else {
          let msg = res.data.msg
          msg = msg.replace(/\n/g, '<br/>')

          me.$message({
            dangerouslyUseHTMLString: true,
            message: msg,
            type: 'warning'
          })
        }
      }).catch(err => { })
    },

3、上传file对象

4、看后台返回Content-Type类型,把这个放进接口 headers :{ } 里去

这样基本可以实现单个文件上传了,快弄,下班~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现多文件上传的方式有很多种,下面我将介绍一种基于 Vue 和 Spring Boot 的实现方式,使用的是 Element UI 的上传组件 el-upload。 前端实现: 1. 在 Vue 组件中引入 Element UI 的 el-upload 组件。 ```vue <template> <el-upload class="upload-demo" action="/api/upload" :multiple="true" :on-change="handleUploadChange" :on-remove="handleUploadRemove" :file-list="fileList"> <el-button slot="trigger" size="small" type="primary">选取文件</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> </el-upload> </template> ``` 2. 在 Vue 组件中定义 fileList 数组,用于存储上传的文件列表。 ```vue <script> export default { data() { return { fileList: [] } }, methods: { handleUploadChange(file, fileList) { this.fileList = fileList }, handleUploadRemove(file, fileList) { this.fileList = fileList } } } </script> ``` 3. 在 Vue 组件中定义 handleUploadChange 和 handleUploadRemove 方法,用于监听上传文件的变化和删除文件的操作,更新 fileList 数组。 后端实现: 1. 在 Spring Boot 项目中定义上传文件的接口。 ```java @RestController @RequestMapping("/api") public class FileUploadController { @PostMapping("/upload") public ResponseEntity<?> uploadFile(@RequestParam("file") MultipartFile[] files) { // TODO: 处理上传的文件 return ResponseEntity.ok("上传成功"); } } ``` 2. 在接口中使用 @RequestParam 注解接收上传的文件,可以使用 MultipartFile 类型的数组来接收多个文件。接收到文件后,可以根据需要进行处理,例如保存到本地磁盘或上传到云存储服务。 3. 在 application.properties 文件中配置文件上传的相关参数。 ```properties # 文件上传配置 spring.servlet.multipart.max-file-size=500KB spring.servlet.multipart.max-request-size=100MB spring.servlet.multipart.enabled=true ``` 其中,max-file-size 和 max-request-size 分别设置了单个文件和总文件大小的最大值,enabled 表示是否启用文件上传功能。 以上就是基于 Vue 和 Spring Boot 的多文件上传实现方式,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值