Java伺服器部署基於OpenCV的C++影象處理專案(三)圖片上傳並返回處理圖
阿新 • • 發佈:2018-11-30
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;
}
}