template:
       <el-upload
              class="upload-demo"
              ref="upload"
              :action="fileurl()"
              :data="filedata()" 
              :auto-upload="false"
               multiple
              :limit="3"
              :on-exceed="handleExceed"
              :before-upload="beforePd"
              :on-success="fileSuccess"
              :on-error="fileError"
              :file-list="fileList"
              :with-credentials="true"
              accept=".doc,.docx,.png,.jpg,.xls,.xlsx,.pdf,.ppt,.pptx,.txt">
              <el-button slot="trigger" size="small" type="success" plain>选取文件</el-button>
              <div slot="tip" class="el-upload__tip">支持word、excel、pdf、ppt、txt、图片(png、jpg)文件,单文件大小不超过50MB</div>
            </el-upload>
            <el-divider></el-divider>
 
对应函数的方法:
      handleExceed(){
        this.$message.error('超出最大上传限制')
      },
      beforePd(file){
          if(file.size > 1024*1024*50){
            this.$message({
              type:'warning',
              message:'上传文件最大限制50MB'
            })
            return false;
          }else{
            return true;
          } 
      },
      upload(fileList){
        if(this.$refs.upload.$children[0].fileList.length == 0){
          this.$message({
            type:'warning',
            message:'选择文件不能为空'
          })
        }else if(this.ztid == null || this.ztid == "" || this.aremark == null || this.aremark == ""){
            this.$message({
            type:'warning',
            message:'填写内容不能为空'
          })
        }else{
          this.$refs.upload.submit();
        }  
      },
      fileurl(){
        return this.paths.baseURL+'file/addFile'
      },
      fileSuccess(){
        this.$message.success('上传成功')
        this.addStatus = false;
        this.findFile();
      },
      fileError(msg){
        this.$message.error('上传失败')
      },
      filedata(){
      return {ztid:this.ztid,remark:this.aremark,ztname:this.ztname}
      }
 
后台接口:
    @RequestMapping(value = "addFile",method = RequestMethod.POST,produces = {"application/json;charset = utf-8"})
@ApiOperation(notes = "上传文件",value = "上传文件",httpMethod = "POST",produces = "application/json;charset = utf-8")
@ApiImplicitParam(name = "参数",value = "map")
// @RequiresPermissions("file:add")
public JSONObject addFile( @RequestParam MultipartFile[] file,@RequestParam Map<String,Object> map,HttpServletRequest request) throws IOException {
if(Integer.parseInt(fileService.countZName(map).get(0).get("count").toString()) > 0){
return JSONUtil.SUCCESSJson("", CommonEnum.COUNT_CODE, CommonEnum.COUNT_MSG);
}else{
map.put("createid",redisTemplate.opsForValue().get("userid_"+request.getSession().getId()));
map.put("createname",redisTemplate.opsForValue().get("username_"+request.getSession().getId()));
for(int i = 0;i < file.length;i++){
String str = CommonEnum.ZSK_PATH+"/"+file[i].getOriginalFilename().substring(file[i].getOriginalFilename().lastIndexOf(".")+1)+"/"+file[i].getOriginalFilename();
map.put("zurl",str);
map.put("zname",file[i].getOriginalFilename());
File file1 = new File(str);
FileUtil.filePath(file1);
file[i].transferTo(file1);
fileService.addFile(map);
}
return JSONUtil.SUCCESSJson("", CommonEnum.SUCCESS_CODE, CommonEnum.SUCCESS_MSG);
}
}

vue element多文件多格式上传文件,后台springmvc完整代码的更多相关文章

  1. c# ftp创建文件(非上传文件)

    c#  ftp创建文件(非上传文件) 一.奇葩的故事: 今天项目中遇到这么个奇葩的问题,ftp文件传输完成后要在ftp目录下另一个文件夹下创建对应的空文件,听说是为了文件的完整性,既然这么说,那么就必 ...

  2. vue+element+oss实现前端分片上传和断点续传

    纯前端实现: 切片上传 断点续传 .断点续传需要在切上上传的基础上实现 前端之前上传OSS,无需后端提供接口.先上完整代码,直接复制,将new OSS里的参数修改成自己公司OSS相关信息后可用,如遇问 ...

  3. 如何使用vue的axios结合PHP去上传文件

    我们在做表单提交的时候,往往会碰到一些表单提交的需求,那vue的axios与上传文件碰撞后不会出现什么不一样的火花吗,听我一一道来: 首先,我们需要对写一个vue的axios的表单提交,由于本人用的是 ...

  4. [转载红鱼儿]Delphi实现微信开发(3)如何使用multipart/form-data格式上传文件

    开始前,先看下要实现的微信接口,上传多媒体文件,这个接口是用Form表单形式上传的文件.对我来说,对http的Form表单一知半解,还好,查到这个资料,如果你也和我一样,必须看看这篇文章. 在xali ...

  5. C#picturebox控件图片以json格式上传java后台保存

    关于winform上传图片到Java后端,保存到数据库,有多种方法,本文主要介绍利用picturebox控件,点击按钮上传图片,将图片转化为base64格式,以json格式上传到Java后台,再从ja ...

  6. hadoop的hdfs文件操作实现上传文件到hdfs

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

  7. RN 上传文件到以及上传文件到七牛云(初步)

    本文将介绍: 如何使用原生 Javascript 上传文件 如何使用七牛云 SDK 上传文件到七牛云 在 App 中文件上传是一个非常重要的需求,但是翻遍 React Naitve 的官方文档没有发现 ...

  8. Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)

    1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...

  9. java-上传文件与现实上传文件

    项目结构: 项目展示: 数据库: /* SQLyog Ultimate v12.09 (64 bit) MySQL - 5.5.53 : Database - fileupload ********* ...

随机推荐

  1. UTF-8 AND UTF-8 without BOM(遇到了这个问题 郁闷了会儿)

    两者的区别: Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WID ...

  2. STM32CubeMx——串口使用DMA收发

    用到的是DMA发送数据,接收还是普通的串口接收. 一.代码生成 1.按以前的方法设置好时钟和调试方式,这里就不多说了. 2.设置串口1. 3.在DMA Setting里点击Add添加USART1_TX ...

  3. OpenCV -Python 性能衡量和提升技术 | 十二

    目标 在图像处理中,由于每秒要处理大量操作,因此必须使代码不仅提供正确的解决方案,而且还必须以最快的方式提供.因此,在本章中,你将学习 衡量代码的性能. 一些提高代码性能的技巧. 你将看到以下功能:c ...

  4. TensorFlow系列专题(六):实战项目Mnist手写数据集识别

    欢迎大家关注我们的网站和系列教程:http://panchuang.net/ ,学习更多的机器学习.深度学习的知识! 目录: 导读 MNIST数据集 数据处理 单层隐藏层神经网络的实现 多层隐藏层神经 ...

  5. Python python 函数参数:可变参数

    # 可变参数 '''传入的参数数量是不确定的 ''' '''若是要计算几个数(未知)的平方和 ''' def cal(nums): sum = 0 for num in nums: sum = sum ...

  6. shell大全

    1.shell判断文件是否存在 http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html

  7. JS烟花案例优化版

    不明白为什么是烟花优化版本的先参考作者的烟花基础版本 烟花优化版本主要实在优化爆炸的范围和运动上做了优化,爆炸范围我们采用已圆的爆炸方式,以鼠标点击的位置为圆形爆炸的烟花效果 <!DOCTYPE ...

  8. 性能优化之三:将Dottrace过程加入持续集成

    之前分享过一篇如何做接口性能分析的文章,但是整个分析过程有点繁琐,需要写一个控制台程序调用被测接口,再预热.启动dottrace追踪,最后才能得到我们想要的性能分析报告.如果有办法一键生成性能分析报告 ...

  9. 深入解读ES6系列(一)

    ECMAScript 6(ES6)简介 前言: 哈喽小伙伴们,爱说'废'话的Z又回来了,欢迎来到Super IT曾的博客时间,我说啦这个月要带的福利,说了更的博客肯定不能水你们,要一起进步学习嘛,今天 ...

  10. ThreadPoolExcutor 原理探究

    概论 线程池(英语:thread pool):一种线程使用模式.线程过多会带来调度开销,进而影响缓存局部性和整体性能.而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务.这避免了在处理短时间 ...