• SpringBoot+Vue+ElementUI实现文件上传


    先上效果图
    在这里插入图片描述

    后端

    // 负责文件上传
    @RestController
    public class FileController {
        @RequestMapping("/fileUpload")
        public String FileUpload(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
            // 获取文件名
            String filename = file.getOriginalFilename();
            if(filename == null||filename == ""){
                return "error";
            }
            String path = "upload";  // 上传文件的保存路径
            InputStream is = file.getInputStream(); // 获取文件的输入流
            File file1 = new File(path, filename);  // 根据路径和文件名创建文件
            FileOutputStream fos = new FileOutputStream(file1); // 获取文件的输出流
            int len = 0;
            byte[] buffer = new byte[1024];
            while ((len=is.read(buffer))!=-1){
                fos.write(buffer,0,len);
                fos.flush();
            }
            fos.close(); // 关闭输出流
            is.close();  // 关闭输入流
            if(file1.exists()){
                return "ok";
            }else {
                return "error";
            }
        }
        @RequestMapping("/delete")   // 根据文件名删除文件
        public String delete(String fileName){
            String path = "upload";
            File file = new File(path, fileName);
            if(file.exists()) {
                file.delete();
            }
            return "ok";
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    修改上传文件最大值

    spring:
      servlet:
        multipart:
          max-request-size: 100MB
          max-file-size: 100MB
    
    • 1
    • 2
    • 3
    • 4
    • 5

    前端

    参数说明类型可选值默认值
    action必选参数,上传的地址string
    headers设置上传的请求头部object
    multiple是否支持多选文件boolean
    data上传时附带的额外参数object
    name上传的文件字段名stringfile
    with-credentials支持发送 cookie 凭证信息booleanfalse
    show-file-list是否显示已上传文件列表booleantrue
    drag是否启用拖拽上传booleanfalse
    accept接受上传的文件类型(thumbnail-mode 模式下此参数无效)string
    on-preview点击文件列表中已上传的文件时的钩子function(file)
    on-remove文件列表移除文件时的钩子function(file, fileList)
    on-success文件上传成功时的钩子function(response, file, fileList)
    on-error文件上传失败时的钩子function(err, file, fileList)
    on-progress文件上传时的钩子function(event, file, fileList)
    on-change文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用function(file, fileList)
    before-upload上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。function(file)
    before-remove删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。function(file, fileList)
    list-type文件列表的类型stringtext/picture/picture-cardtext
    auto-upload是否在选取文件后立即进行上传booleantrue
    file-list上传的文件列表, 例如: [{name: ‘food.jpg’, url: ‘https://xxx.cdn.com/xxx.jpg’}]array[]
    http-request覆盖默认的上传行为,可以自定义上传的实现function
    disabled是否禁用booleanfalse
    limit最大允许上传个数number
    on-exceed文件超出个数限制时的钩子function(files, fileList)-
    
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99

    实现效果
    在这里插入图片描述

  • 相关阅读:
    python和shell脚本,每隔五分钟将远端服务器中的文件夹数据下载到跳板机
    二叉树遍历——前序、后序和中序遍历
    逆序对专题
    关于app爬虫的环境准备
    python-pptx解析pptx模板
    SQL调优
    C++ Reference: Standard C++ Library reference: C Library: cstdio: fread
    对极几何与三角化求3D空间坐标
    java计算机毕业设计ssm魔术教学网站k304y(附源码、数据库)
    OSCP系列靶场-Esay-Sumo
  • 原文地址:https://blog.csdn.net/weixin_44960905/article/details/126342664