当前位置:   article > 正文

springboot文件上传_el-upload上传springboot

el-upload上传springboot

一个方法将文件上传到项目本地

前端代码:

使用element ui实现文件上传:

	<el-upload
        class="avatar-uploader"
        action="http://localhost:8888/api/file/upload"
        :show-file-list="false"
        :on-success="handleAvatarSuccess"
        :before-upload="beforeAvatarUpload"
      >
        <img v-if="imageUrl" :src="imageUrl" class="avatar" />
        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
      </el-upload>

	<script>
		handleAvatarSuccess(res, file) {
	      if (res.code == "200") {
	        this.imageUrl = URL.createObjectURL(file.raw);
	      }
	    },
	    beforeAvatarUpload(file) {
	      const isJPG = file.type === "image/jpeg" || file.type === "image/png";
	      const isLt2M = file.size / 1024 / 1024 < 2;
	
	      if (!isJPG) {
	        this.$message.error("上传头像图片只能是 JPG 或 PNG 格式!");
	      }
	      if (!isLt2M) {
	        this.$message.error("上传头像图片大小不能超过 2MB!");
	      }
	      return isJPG && isLt2M;
	    },
    </script>
  • 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

后端接口:

控制器:

	@PostMapping("/upload")
	public PublicResponse upload(MultipartFile file) {
    	String fileName = fileService.upload(file);
    	return PublicResponse.success(fileName);
	}
  • 1
  • 2
  • 3
  • 4
  • 5

方法实现:

	@Override
    public String upload(MultipartFile multipartFile) {
        // 判断文件是否为空
        if (ObjectUtils.isEmpty(multipartFile)) {
            log.info("文件为空!");
            return "error";
        }
        // 获取文件后缀
        final String fileSuffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf(".") + 1);
        // 新文件名
        final String fileName = UUID.randomUUID() + "." + fileSuffix;
        String path = ClassUtils.getDefaultClassLoader().getResource("").getPath() + LocalDate.now();
        File file = new File(path, fileName);
        if (!file.exists()) {
            file.mkdirs();
        }
        try {
            multipartFile.transferTo(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return path.substring(1) + "/" + fileName;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/384037
推荐阅读
相关标签
  

闽ICP备14008679号