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

尝试请求一下

成功返回!

相关推荐
2301_794333914 分钟前
Maven 概述、安装、配置、仓库、私服详解
java·开发语言·jvm·开源·maven
yunken284 分钟前
docker容器保存为不依赖基础镜像的独立镜像方法
java·docker·容器
越来越无动于衷7 分钟前
maven私服
java·maven
xx155802862xx18 分钟前
Python如何给视频添加音频和字幕
java·python·音视频
小猫咪怎么会有坏心思呢1 小时前
华为OD机试-最短木板长度-二分法(A卷,100分)
java·开发语言·华为od
hymuuuu2 小时前
【最新案例】智能物料称重柜/生鲜称重售卖柜系统, 共享自助管理系统, 物联网应用定制开发
java
编程绿豆侠2 小时前
力扣HOT100之栈:394. 字符串解码
java·算法·leetcode
周全全2 小时前
基于 Vue 和 Spring Boot 实现滑块验证码的机器验证
前端·vue.js·spring boot
hstar95272 小时前
三十四、面向对象底层逻辑-SpringMVC九大组件之FlashMapManager接口设计哲学
java·spring·设计模式·架构
yuren_xia2 小时前
Spring MVC执行流程简介
java·spring·mvc