Spring Boot 上传图片到服务器并且预览

  •  上传文件接口代码
@Value("${upload.path}")
private String uploadPath;
@ApiOperation("上传用户头像")
@PreAuthorize("@ss.hasPermi('platform:orderHandle:check')")
@PostMapping("/uploadAvatar")
public R uploadFile(@ApiParam(value = "上传的图片", required = true) @RequestParam("file") MultipartFile file, HttpServletResponse res) {
    Long merNo = SecurityUtils.getMerNo();
    if (StringUtils.isNull(merNo)) {
        return R.error(HttpStatus.ERROR, "商户异常");
    }
    //如果文件不是jpg或png格式
    if(!(file.getOriginalFilename().contains(".png")||file.getOriginalFilename().contains(".jpg"))){
        return R.error();
    }
    if (StringUtils.isNotNull(file)) {
        res.setContentType("image");
        String realPath = uploadPath+"avatar/";
        File pathFile = new File(realPath.trim());
        if (!pathFile.exists()) {
            //文件夹不存 创建文件
            pathFile.mkdirs();
        }
        //当前文件个数
        int i = pathFile.list().length;
        //将文件copy上传到服务器
        String pathTime =System.currentTimeMillis() + "_" + file.getOriginalFilename();
        String filePath = realPath + pathTime;
        try {
            Files.copy(file.getInputStream(), Paths.get(filePath));
        } catch (IOException e) {
            return R.error();
        }
        int y = pathFile.list().length;
        if (y > i) {
            //更新上传后的修改状态
            return R.success("上传成功", "avatar/"+pathTime);
        }
    }
    return R.error();
}
  • yml 配置服务器上传路径

查看文件是否上传成功

  • 配置图片访问路径服务器路径
package com.jeoho.common.utils;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class WebConfig  implements WebMvcConfigurer {

    @Value("${upload.path}")
    private String uploadPath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //uploadPath+"/**"上传路径,  file:磁盘路径
        registry.addResourceHandler(uploadPath+"/**").addResourceLocations("file:" +uploadPath);
    }
}
  • 启动服务并且访问

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值