基于Springboot实现文件上传和获取功能

发布时间:2022-5-07 14:58

本人是刚学习java后端不久,所以通过记录一下平时所学知识,方便日后的复习,如果有出错的地方,还望包含。

Windows版本

新建一个properties

# 文件的实体路径
image.path=C:\\Users\\Administrator\\IdeaProjects\\shitang\\img\\

# 待会要获取的IP地址
image.ip=localhost:8080

linux版本

# 文件的实体路径
image.path=/usr/web/shitangdemo/img/

# 待会要获取的IP地址
image.ip=localhost:8000

配置类,让properties的信息获取到这

@Configuration
@PropertySource(value = "file.properties")
public class imgpropertiesConfig implements WebMvcConfigurer {

@Value("${image.path}")
public String path;

private static final String urlPath = "/img/**";

@Value("${image.ip}")
public String ip;

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
{
registry.addResourceHandler(urlPath).addResourceLocations("file:"+path);
}
}

提交Controller

@RestController
@CrossOrigin
public class imgController {
@Autowired
public imgpropertiesConfig config;

@Autowired
public ResponseUtil responseUtil;

@RequestMapping("/img")
public String getLocation()
{
return config.path;
}

@RequestMapping(value = "/addImage",method = RequestMethod.POST)
public Map<String,Object> returnImg(@RequestPart("file") MultipartFile file,@RequestParam("foodname") String foodname)
{
// 获取顺带就把食品名给存进去了
if(file.isEmpty())
{
	//自己创建的UTIL,实际上也就是返回失败的message
return responseUtil.fileFail();
}
else
{
//String filePath = config.path+file.getOriginalFilename();
System.out.println(config.path);
String filePath = config.path+foodname+".jpg";
File imgfile = new File(filePath);
try{
// 字节流获取
FileOutputStream stream = new FileOutputStream(imgfile);
byte[] bytes = file.getBytes();
stream.write(bytes);
// 关闭字节流
stream.close();
// 返回一个成功的信息和成功的url地址
return responseUtil.fileSuccess(config.ip+"/img/"+foodname+".jpg");
}
catch (Exception e)
{
e.printStackTrace();
return responseUtil.fileFail();
}
}
}
}
SpringBoot整合Mybatis简单实现增删改查 网站建设

SpringBoot整合Mybatis简单实现增删改查

为什么要学SpringBoot和Mybatis呢,我觉得作为一个合格的后端程序员增删改查(CRUD)肯定是要会的,而且是最基本的一项技能,不然怎么完成给你分配的需求呢;而为什么选择SpringBoot...