|
|
@ -1,21 +1,42 @@ |
|
|
|
package com.my.graphiteDigesterBg.api; |
|
|
|
import com.my.graphiteDigesterBg.diframe.DiApiControllerBase; |
|
|
|
import com.my.graphiteDigesterBg.diframe.DiApiResponse; |
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
import org.springframework.stereotype.Controller; |
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
import org.springframework.web.bind.annotation.ResponseBody; |
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
import java.io.FileInputStream; |
|
|
|
import java.nio.ByteBuffer; |
|
|
|
import java.util.Base64; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
@Controller |
|
|
|
public class ApiCamera extends DiApiControllerBase { |
|
|
|
@Value("${camera.image-path}") |
|
|
|
private String imagePath; |
|
|
|
|
|
|
|
@ResponseBody |
|
|
|
@PostMapping("/api/camera/image") |
|
|
|
public DiApiResponse getImage() { |
|
|
|
// ByteBuffer buffer = ByteBuffer.allocate(1024); |
|
|
|
// byte[] bytes = buffer.array(); |
|
|
|
// String base64Text = Base64.getEncoder().encodeToString(bytes); |
|
|
|
String base64Data = "data:image/image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAH8SURBVDiNtZM/aBNxFMc/791PLJihQ4QMFhJQ7ODgmIJDbxAEXQoJuAqSzOLSQ4c4lFAoOGSQdHEtpOBSQXDo4pChg2NBQQfBDBkyKLRw93sOl1KT3LVC4ne5433f+7w/x0GO2t39Tnu3d5jr7/YO2939Tp4vAK3X75avXosf+sTfOjNUFTx4fGahoqDg/bmvgX45/e3et55tjGTrzd4dleAjQmmi0hNC/B113zLJPq6AK6NMbmUMvCX3nQZBB5uCziOhpBp0HMZ6ZkLAc/yVIVg2QN0LhFKmbay73M7GIyQHmuppXk+AM/AnYnuCJvFFpEvlA4eTt8C9M3BRHLe9BL/m4apSMCjC+cSrhhxcvPnl+rtc50PlK/PjiUjfsBOMVaAEnCD0x2NVgSVggHAsyJKZVacZsxOb9DcbtbWoUQ9Vkw0A7/121KiHUaMeeu+3AVSTjahRDzcbtTVM+jPDtbu9ycsaMUJ//LwB3DQYifE57ctdgWXgK8YPBIdRRSa3nz1FmlBGJAYrpiEKiJTTdyuMM0uIODA3Dc08hcBR1KyvRM1aJTEJ05jsRM1aJWrWKoLsACQmYRqrrwgc/esp9jCLgVVEqhgDsA/jkgfpr2x94BgRh/F4eupZ8IKkAqP/wB2qGd3Fc62rp4PiS7AtYLgA4tDDq9Of11t/AC8CsohkwY6rAAAAAElFTkSuQmCC"; |
|
|
|
Map<String, String> response = new HashMap<>(); |
|
|
|
response.put("data", null); |
|
|
|
File file = new File(this.imagePath); |
|
|
|
if ( !file.exists() ) { |
|
|
|
return this.success(response); |
|
|
|
} |
|
|
|
|
|
|
|
byte[] bytes = new byte[(int)file.length()]; |
|
|
|
try { |
|
|
|
FileInputStream fis = new FileInputStream(file); |
|
|
|
fis.read(bytes); |
|
|
|
fis.close(); |
|
|
|
} catch (Exception e) { |
|
|
|
throw new RuntimeException(e); |
|
|
|
} |
|
|
|
String base64Image = Base64.getEncoder().encodeToString(bytes); |
|
|
|
String base64Data = "data:image/image/png;base64," + base64Image; |
|
|
|
return this.success(Map.of("data",base64Data)); |
|
|
|
} |
|
|
|
} |