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

Ourboke
Ourboke
Ourboke
30797
文章
148
评论
2022年5月7日14:58:30

本人是刚学习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();
}
}
}
}
本地环境利用Node.js实现石头剪刀布游戏 网站建设

本地环境利用Node.js实现石头剪刀布游戏

前一段日子学了个石头剪刀布游戏,自己在本地进行了实现,想挂在自己服务器上让他形成一个外网可访问的游戏的时候,出了问题,是接口请求路径不对的问题,现在还不知道什么原因,等解决之后我还会更一下。 所需要...
Zabbix实现对Memcached的监控 网站建设

Zabbix实现对Memcached的监控

Zabbix对Memcached的监控的主要思路是Memcached自身提供了查询状态的命令stats,通过脚本调用此命令并进行数据抽取完成对Memcached的实时监控。 基本步骤:自定义监控...