SpringBoot实现图片文件上传实现代码linux和windows

1.配置路径为本项目路径下

@Configuration
public class Config implements WebMvcConfigurer {
    String currentPath = System.getProperty("user.dir")+"/file";
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 注意这里的路径依你的操作系统可能需要调整
//        registry.addResourceHandler("/**").addResourceLocations("file:/D:/file1/");
        registry.addResourceHandler("/**").addResourceLocations("file:"+currentPath);
    }
}

配置上传


@RestController
@RequestMapping("/file")
@CrossOrigin("*")
public class FileController {

    @RequestMapping("/file")
    public String uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
        try {
            //配置路径
            String fileName = file.getOriginalFilename();
            long currentTimeMillis = System.currentTimeMillis();  //按照时间戳上传
            fileName = currentTimeMillis + "." + fileName.split("\\.")[1];
            String currentPath = System.getProperty("user.dir")+"/file";


            System.out.println("创建的路径为:"+currentPath);

            File file1 = new File(currentPath);
            if (!file1.exists()) {
                file1.mkdirs();
            }

            Path path = Paths.get(currentPath+"/" + fileName);
            Files.copy(file.getInputStream(), path);

            // 确保这里的路径与你MvcConfig中的配置一致
            String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString();
            System.out.println("ip:"+baseUrl);
            String fileAccessUrl = baseUrl + "/" + fileName;
            return fileAccessUrl;
        } catch (IOException e) {
            e.printStackTrace();

            return  "文件上传失败!错误信息:" + e.getMessage();
        }
    }







}

配置允许上传最大的文件大小 

server:
  port: 10222
---
spring:
  servlet:
    multipart:
      max-file-size: 20MB
---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值