Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图
Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图
1.上传图片并返回灰度图功能
由于使用的springboot开发,直接写一个upload接口供图片上传,以下是springboot主函数以及upload接口。
package com.example.demo.service;
import ...
@RestController
@RequestMapping("/")
public class TestController {
@Autowired
ControllerLogAspect controllerLogAspect;
@RequestMapping(value = "", method = RequestMethod.GET)
public String index(){
System.out.println("hello springboot");
return "Hello Spring Boot";
}
@ResponseBody
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public JsonResponse upload(
HttpServletRequest request,
@RequestParam("file") MultipartFile file) {
JsonResponse jres = new JsonResponse();
File saveFile = new File(request.getSession().getServletContext().getRealPath("/upload/") + "test.jpg");
if (!saveFile.getParentFile().exists()) {
saveFile.getParentFile().mkdirs();
}
System.out.println(saveFile.getParentFile().toString());
try {
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(saveFile));
out.write(file.getBytes());
out.flush();
out.close();
// 接收并处理图片
CheckQR.testcheck();
jres.setMessage(" 上传成功");
} catch (FileNotFoundException e) {
e.printStackTrace();
jres.setMessage("上传失败," + e.getMessage());
} catch (IOException e) {
e.printStackTrace();
jres.setMessage("上传失败," + e.getMessage());
}
return jres;
}
}