前言
昨天花了一整天的时间,才写好了图片上传的API,在这里就想把这个方法分享给大家
功能简述
使用SpringBoot编写API,供前端开发者调用,可以做到当前端点击按钮的时候,可以选择图片,进行上传,之后图片会上传到指定的目录下面,之后会把目录放到数据库中.
具体实现
现在先来看控制器代码
@CrossOrigin //实现跨域请求
//下面是编写接口名和请求方式
@RequestMapping(value = "/uploadimg", method = RequestMethod.POST)
//注意参数的类型和第一个参数的"file",之后会用到的
public String uploadImg(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IllegalStateException, IOException {
//设置文件的保存路径
//把接口放到服务器上面的话,就改成指定的目录下面
String path = "E:\\Spring\\data\\img\\";
System.out.println(path);
//文件命名 我这里上传之后的图片就使用了原图
String originalFilename = file.getOriginalFilename();
System.out.println(originalFilename);
//获取文件的后缀名
String extendName = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
//判断文件是否是图片
Map<String, String> map = new HashMap<>();
String[] imagType = {".jpg", ".png", ".bmp", ".gif"};
List<String> imageTyepLists = Arrays.asList(imagType);
if (imageTyepLists.contains(extendName)) {
File dir = new File(path, originalFilename);
//并接图片路径
String ImgPath=path+originalFilename;
File filepath = new File(path);
//创建存放图片的文件夹
if (!filepath.exists()) {
filepath.mkdirs();
}
//把图片放进文件夹中
file.transferTo(dir);
//把图片的路径写入数据库
imageService.addImagePath(ImgPath);
return "200";
}
return "400";
}
根据上面的代码,我们的图片上传的API就已经写好了,之后还要测试一下这个接口是否可以被成功的访问到,我们这里采用的是postman进行测试
使用postman进行图片上传的API接口测,首先你要在类型为text的时候,输入上面参数的第一个参数的值"file",之后你在切换成为File,这样子就会出现选择文件的按钮,这样子就可以测试的图片/文件上传API
今天就分享到这里了,希望可以帮助到你