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. 【bzoj2049】[Sdoi2008]Cave 洞穴勘测——线段树上bfs求可撤销并查集

    题面 2049: [Sdoi2008]Cave 洞穴勘测 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 12030 Solved: 6024 Desc ...

  2. Node/Python 工具搭建cmder和nrm

    一.安装cmder cmder是windows下的一款终端工具,支持很多linux命令,用起来还是很爽的. 1.安装 http://cmder.net/ 直接在官网下载,解压即可. 2.cmder配置 ...

  3. 用FME处理物探点表和线表,生成管线和设施

    在项目的数据处理中,客户会提供物探点表和线表. 点表主要包括该点的物探编号.该点的X坐标.Y坐标.点的其他属性 线表主要包括该线的起始点物探编号.终止物探编号.线的其他属性 点表

  4. coding++:kafka问题:zookeeper is not a recognized option zookeeper参数不支持

    – zookeeper is not a recognized option主要原因是 Kafka 版本过高,命令不存在. 使用新版本: ./bin/kafka-console-consumer.sh ...

  5. Crash

    一.Crash类型 crash 一般产生自 iOS 的微内核 Mach,然后在 BSD 层转换成 UNIX SIGABRT 信号,以标准 POSIX 信号的形式提供给用户.NSException 是使 ...

  6. C语言中结构体内存存储方式

    C语言中结构体内存存储方式 结构体的默认存储方式采用以最大字节元素字节数对其方式进行对齐,例如一个结构体中定义有char.int类型元素,则结构体存储空间按照int类型占用字节,如果还有double类 ...

  7. Pytest系列(6) - conftest.py的详细讲解

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 什么是conftest.py 可以 ...

  8. SQL Server 创建链接服务器的脚本,自定义链路服务器的简短名称

    USE [master]GO /****** Object:  LinkedServer [SQL01]    Script Date: 2020/4/9 11:51:17 ******/EXEC m ...

  9. wireshark一开,无线网络就断开

    最近在研究wireshark 笔记本连着wifi,开始抓包后,无线网就断了 查了半天,需要把捕获-->选项里的监控模式去掉就行了

  10. Linux命令后面加 & 的作用

    在命令的后面加一个 & 的作用是,将这个任务放到后台执行.看下面的例子. 输入gedit回车,可以看到,打开了Linux的文本编辑器,但是命令窗口执行不了其他命令了,只有退出文本编辑器才能继续 ...