zoukankan      html  css  js  c++  java
  • vue ----element-ui 文件上传upload 组件 实现 及其后台

    1、前台

    action 不用改 :https://jsonplaceholder.typicode.com/posts/

    getFile: 获取文件

    data(){
      return {
       file: {},
       fileList: []
          }
         }
       <el-upload
         action="https://jsonplaceholder.typicode.com/posts/"
            :file-list="fileList"
            @on-change="handleChange"
            :http-request="getFile"
         >
     <el-button size="small" type="primary">上传</el-button>
     </el-upload>
    <el-button size="small" type="success" @click="upload">确认上传</el-button>
    

      

     getFile(item) {
          console.log(item.file)
          this.file = item.file
        },
        upload() {
          const fd = new FormData()
          fd.append('filename', this.file)
          const config = { headers: { 'Content-Type': 'multipart/form-data' }}
          this.$request.post('/uploading', fd, config
          ).then(response => {
            this.$message.success(response.retCode)
          })
        },

    2、后台

        @ApiOperation("上传文件")
        @PostMapping(value = "/uploading")
        public @ResponseBody
        String uploadFile(@RequestParam("filename") MultipartFile file) {
            log.info("接收到的文件数据为:" + file);
           
            if (file.isEmpty()) {
     
                return "上传文件为空";
    } // 获取文件全名a.py String fileName = file.getOriginalFilename(); // 文件上传路径
    String templatePath = "E:/file/template/" log.info("文件路径:" + templatePath); // 获取文件的后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); //获取文件名 String prefixName = fileName.substring(0, fileName.lastIndexOf(".")); // 解决中文问题,liunx 下中文路径,图片显示问题 //fileName = UUID.randomUUID() + suffixName; File dest0 = new File(templatePath); File dest = new File(dest0, prefixName + File.separator + fileName); //文件上传-覆盖 try { // 检测是否存在目录 if (!dest0.getParentFile().exists()) { dest0.getParentFile().mkdirs(); //检测文件是否存在 } if (!dest.exists()) { dest.mkdirs(); } file.transferTo(dest); return "上传成功"; } catch (Exception e) { log.error("文件上传错误"); return "上传失败"; } }

      3、效果演示

     

  • 相关阅读:
    JAVA线程池原理详解一
    并发工具类:CountDownLatch、CyclicBarrier、Semaphore
    JAVA并行框架:Fork/Join
    Mock Server实践
    MockWebServer使用指南
    mybatis学习笔记 spring与mybatis整合
    怎样使用Mock Server
    基于unittest测试框架的扩展
    运营商劫持
    单元测试实战手册
  • 原文地址:https://www.cnblogs.com/godpo/p/11988046.html
Copyright © 2011-2022 走看看