springboot实现上传文件接口(简单版)

使用springboot实现一个最简单版本的上传文件接口

java 复制代码
private String uploadPath = "C:/imageFiles";


@RequestMapping(value = "/upload", method = RequestMethod.POST)
    private Result upload( @RequestParam("modelName") String modelName,
                           @RequestParam("file") MultipartFile multipartFile) {
        try {            
            StrBuilder sb = new StrBuilder();
            sb = sb.append(uploadPath).append(modelName);
            FileUtil.mkdir(sb.toString());
            String newFileName = System.currentTimeMillis() + multipartFile.getOriginalFilename();
            sb = sb.append("/").append(newFileName);
            FileOutputStream fileOutputStream = new FileOutputStream(sb.toString());
            fileOutputStream.write(multipartFile.getBytes());
            fileOutputStream.close();
            return new Result().success("/" + modelName + "/" + newFileName);
        } catch (IOException e) {
            e.printStackTrace();
            log.info("上传文件IO异常");
            return new Result().error("上传文件IO异常");
        }
    }

上传完成之后需要访问,可以使用springmvc静态资源代理(线上项目不推荐,建议使用nginx静态资源代理)

java 复制代码
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 本地资源映射
        registry.addResourceHandler("/images/**").addResourceLocations("file:" + "C:/imageFiles/");
    }
}

尝试请求一下

成功返回!

相关推荐
流水人家_110911 分钟前
Java基础进阶篇-第五天
java
刘大猫.22 分钟前
java导入excel更新设备经纬度度数或者度分秒
java·excel·导入excel·经纬度·度分秒·经纬度 度数·经纬度 度分秒
程序猿chen30 分钟前
《Java八股文の文艺复兴》第十篇:量子永生架构——对象池的混沌边缘
java·后端·面试·架构·跳槽·量子计算·改行学it
blog_jenny1 小时前
Android 14 、15动态申请读写权限实现 (Java)
android·java·gitee
A Everyman1 小时前
SpringCloud-快速通关(一)
后端·spring·spring cloud·微服务
用户566999437031 小时前
一篇文章弄懂Lambda 表达式
java
凌冰_1 小时前
Java Collections 类中常用方法使用
java·开发语言
爱的叹息1 小时前
Spring Boot 3.x 下 Spring Security 的执行流程、核心类和原理详解,结合用户描述的关键点展开说明,并以表格总结
spring boot·后端·spring
我是坑货1 小时前
maven的项目管理和构建生命周期
java·log4j·maven
遥不可及~~斌2 小时前
基于Redis实现短信防轰炸的Java解决方案
java·数据库·redis