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/");
    }
}

尝试请求一下

成功返回!

相关推荐
vx_Biye_Design8 小时前
springboot一站式旅游管理平台81037-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·课程设计·express·旅游
写后端的胖头鱼8 小时前
时间复杂度 & 空间复杂度
java·数据结构·算法·时间复杂度·空间复杂度
嵌入式学习菌8 小时前
ESP32 ModbusTCP 分片缓存
java·后端·spring
vx_Biye_Design8 小时前
springboot宠物寄养服务预约与监管系统82684-计算机课程设计、毕业设计
java·vue.js·spring boot·elasticsearch·课程设计·express·宠物
程序员小杰@8 小时前
Spring Boot 常用注解分类速记
java·spring boot·后端
vx_Biye_Design8 小时前
springboot小学生英语学习APP62773-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·学习·课程设计
吴声子夜歌8 小时前
Nginx应用与运维——Nginx日志管理
java·运维·nginx
guo_wen_qiang8 小时前
云服务器nacos搭建-集群&持久化
java·运维·服务器
江江爱编程9 小时前
java零基础保姆级教学01
java·开发语言