新增 QRCode base64 编码形式返回

This commit is contained in:
helixcs 2020-05-19 15:04:21 +08:00
parent 0d4da3bec4
commit addf09488d

View File

@ -42,31 +42,33 @@ public class QrCodeUtil {
/**
* 生成代 logo 图片的 Base64 编码格式的二维码 String 形式表示
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
* @param imageType 图片类型图片扩展名{@link ImgUtil}
*
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
* @param imageType 图片类型图片扩展名{@link ImgUtil}
* @param logoBase64 logo 图片的 base64 编码
* @return 图片 Base64 编码字符串
* @return 图片 Base64 编码字符串
*/
public static String generateAsBase64(String content, QrConfig qrConfig,String imageType,String logoBase64){
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType, String logoBase64) {
byte[] decode;
try {
decode = Base64.getDecoder().decode(logoBase64);
}catch (Exception e){
} catch (Exception e) {
throw new QrCodeException(e);
}
return generateAsBase64(content,qrConfig,imageType,decode);
return generateAsBase64(content, qrConfig, imageType, decode);
}
/**
* 生成代 logo 图片的 Base64 编码格式的二维码 String 形式表示
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
* @param imageType 图片类型图片扩展名{@link ImgUtil}
* @param logo logo 图片的byte[]
* @return 图片 Base64 编码字符串
*
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
* @param imageType 图片类型图片扩展名{@link ImgUtil}
* @param logo logo 图片的byte[]
* @return 图片 Base64 编码字符串
*/
public static String generateAsBase64(String content, QrConfig qrConfig,String imageType,byte [] logo){
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType, byte[] logo) {
BufferedImage img;
try {
img = ImageIO.read(new ByteArrayInputStream(logo));
@ -74,21 +76,22 @@ public class QrCodeUtil {
throw new QrCodeException(e);
}
qrConfig.setImg(img);
return generateAsBase64(content,qrConfig, imageType);
return generateAsBase64(content, qrConfig, imageType);
}
/**
* 生成 Base64 编码格式的二维码 String 形式表示
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
*
* @param content 内容
* @param qrConfig 二维码配置包括长边距颜色等
* @param imageType 图片类型图片扩展名{@link ImgUtil}
* @return 图片 Base64 编码字符串
*/
public static String generateAsBase64(String content,QrConfig qrConfig,String imageType){
public static String generateAsBase64(String content, QrConfig qrConfig, String imageType) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
generate(content,qrConfig,imageType,bos);
generate(content, qrConfig, imageType, bos);
byte[] encode = Base64.getEncoder().encode(bos.toByteArray());
return MessageFormat.format("data:image/{0};base64,{1}",imageType,new String(encode));
return MessageFormat.format("data:image/{0};base64,{1}", imageType, new String(encode));
}
/**
* 生成PNG格式的二维码图片以byte[]形式表示