SpringBoot前后端分离项目中实现将图片上传至Linux服务器(极简)

  • Post author:
  • Post category:linux


FileController

/**
 * 文件上传至服务器
*/
@ApiOperation("文件上传")
@PostMapping("/upload")
public R upload(MultipartFile file){
    String uploadUrl = fileService.upload(file);
    return R.ok().message("文件上传成功").data("url", uploadUrl);
}

FileServiceImpl

 /**
      * 上传文件
      * @param file
     * */
    public String upload(MultipartFile file){
        //图片校验(图片是否为空,图片大小,上传的是不是图片、图片类型(例如只能上传png)等等)
        if (file.isEmpty()) {
            return "图片上传失败";
        }
        //可以自己加一点校验 例如上传的是不是图片或者上传的文件是不是png格式等等 这里省略
        //获取原来的文件名和后缀
        String originalFilename = file.getOriginalFilename();
//        String ext = "." + FilenameUtils.getExtension(orgFileName); --需要导依赖
        String ext = "."+ originalFilename.split("\\.")[1];
        //生成一个新的文件名(以防有重复的名字存在导致被覆盖)
        String uuid = UUID.randomUUID().toString().replace("-", "");
        String newName = uuid + ext;
        //拼接图片上传的路径 url+图片名
        String path = "/home/yhy/testpro/pic/" + newName;
        try {
            file.transferTo(new File(path));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return path;
    }

在这里插入图片描述



版权声明:本文为qq_42437577原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。