springboot实现图片上传的思路
导入相关的依赖
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
1.使用springmvc中的mulitypart
MultipartFile img 拿到图片文件的流
使用Ioutils 将图片保存到本地
InputStream inputStream=null;
FileOutputStream outputStream=null;
String imgName= UUID.randomUUID().toString()+img.getOriginalFilename();
try {
inputStream=img.getInputStream();
outputStream=new FileOutputStream(new File(imgPath+"/"+imgName));
IOUtils.copy(inputStream,outputStream);
//文件路径imgName
model.setImg(imgName);
} catch (IOException e) {
e.printStackTrace();
}
service.addSubmit(model);
2.配置WebMvcAdpater or WebMvcConfiguration 将C盘中的img文件映射到url上。
@Configuration 注解扫描
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//重写方法
//修改tomcat 虚拟映射
registry.addResourceHandler("/images/**").
addResourceLocations("file:D:/img/");//定义相对路径 很重要
}
3.根据配置路径访问到img目录下的图片