add method

This commit is contained in:
Looly 2020-07-25 18:12:53 +08:00
parent 403c2b1f18
commit fb2e118d91
3 changed files with 26 additions and 3 deletions

View File

@ -3,9 +3,11 @@
-------------------------------------------------------------------------------------------------------------
## 5.3.11 (2020-07-23)
## 5.3.11 (2020-07-25)
### 新特性
* 【captcha】 AbstractCaptcha增加getImageBase64Data方法pr#985@Github
### Bug修复
-------------------------------------------------------------------------------------------------------------

View File

@ -7,6 +7,7 @@ import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.URLUtil;
import java.awt.AlphaComposite;
import java.awt.Color;
@ -198,9 +199,10 @@ public abstract class AbstractCaptcha implements ICaptcha {
* 获取图片带文件格式的 Base64
*
* @return 图片带文件格式的 Base64
* @since 5.3.11
*/
public String getImageBase64Full(){
return "data:image/png;base64," + Base64.encode(getImageBytes());
public String getImageBase64Data(){
return URLUtil.getDataUriBase64("image/png", getImageBase64());
}
/**

View File

@ -772,6 +772,25 @@ public class URLUtil {
}
}
/**
* Data URI Scheme封装数据格式为Base64data URI scheme 允许我们使用内联inline-code的方式在网页中包含数据<br>
* 目的是将一些小的数据直接嵌入到网页中从而不用再从外部文件载入常用于将图片嵌入网页
*
* <p>
* Data URI的格式规范
* <pre>
* data:[&lt;mime type&gt;][;charset=&lt;charset&gt;][;&lt;encoding&gt;],&lt;encoded data&gt;
* </pre>
*
* @param mimeType 可选项null表示无数据类型image/pngtext/plain等
* @param data 编码后的数据
* @return Data URI字符串
* @since 5.3.11
*/
public static String getDataUriBase64(String mimeType, String data) {
return getDataUri(mimeType, null, "BASE64", data);
}
/**
* Data URI Scheme封装data URI scheme 允许我们使用内联inline-code的方式在网页中包含数据<br>
* 目的是将一些小的数据直接嵌入到网页中从而不用再从外部文件载入常用于将图片嵌入网页