在SpringBoot中獲取Base64編碼的圖片驗證碼可以通過以下步驟實現:
@RestController
public class CaptchaController {
@Autowired
private CaptchaService captchaService;
@GetMapping("/captcha")
public ResponseEntity<Map<String, String>> getCaptchaImage() {
String base64Image = captchaService.generateCaptchaImage();
Map<String, String> response = new HashMap<>();
response.put("image", base64Image);
return ResponseEntity.ok(response);
}
}
@Service
public class CaptchaService {
private Captcha captcha = new Captcha.Builder()
.addText()
.addBackground()
.addNoise()
.addBorder()
.build();
public String generateCaptchaImage() {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try {
ImageIO.write(captcha.getImage(), "png", outputStream);
} catch (IOException e) {
e.printStackTrace();
}
byte[] imageBytes = outputStream.toByteArray();
return Base64.getEncoder().encodeToString(imageBytes);
}
}
在上述代碼中,我們使用了第三方庫JCaptcha來生成圖片驗證碼,并將圖片轉換為Base64編碼返回給客戶端。
在客戶端發起請求時,可以通過訪問/captcha
路徑來獲取Base64編碼的圖片驗證碼,并將其顯示在頁面上。
這樣就可以在SpringBoot項目中獲取Base64編碼的圖片驗證碼了。