Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图

Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图

1.上传图片并返回灰度图功能

由于使用的springboot开发,直接写一个upload接口供图片上传,以下是springboot主函数以及upload接口。
Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图

Java服务器部署基于OpenCV的C++图像处理项目(三)图片上传并返回处理图

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;
    }

}