fix qrcode bug

This commit is contained in:
Looly
2020-09-16 16:00:31 +08:00
parent f9f73e4c02
commit 3421a8f54d
4 changed files with 17 additions and 13 deletions

View File

@@ -1,18 +1,17 @@
package cn.hutool.extra.qrcode;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.CharsetUtil;
import com.google.zxing.EncodeHintType;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.Color;
import java.awt.Image;
import java.io.File;
import java.nio.charset.Charset;
import java.util.HashMap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import cn.hutool.core.img.ImgUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.CharsetUtil;
/**
* 二维码设置
*
@@ -34,8 +33,8 @@ public class QrConfig {
protected Integer backColor = WHITE;
/** 边距1~4 */
protected Integer margin = 2;
/** 设置二维码中的信息量,可设置0-40的整数二维码图片也会根据qrVersion而变化0表示根据传入信息自动变化 */
protected Integer qrVersion = 0;
/** 设置二维码中的信息量,可设置1-40的整数 */
protected Integer qrVersion;
/** 纠错级别 */
protected ErrorCorrectionLevel errorCorrection = ErrorCorrectionLevel.M;
/** 编码 */

View File

@@ -27,6 +27,7 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -91,8 +92,8 @@ public class ServletUtil {
* @since 4.0.2
*/
public static String getBody(ServletRequest request) {
try {
return IoUtil.read(request.getReader());
try(final BufferedReader reader = request.getReader()) {
return IoUtil.read(reader);
} catch (IOException e) {
throw new IORuntimeException(e);
}

View File

@@ -4,10 +4,12 @@ import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Console;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
/**
@@ -19,9 +21,9 @@ import java.io.File;
public class QrCodeUtilTest {
@Test
@Ignore
public void generateTest() {
QrCodeUtil.generate("https://hutool.cn/", 300, 300, FileUtil.file("e:/qrcode.jpg"));
final BufferedImage image = QrCodeUtil.generate("https://hutool.cn/", 300, 300);
Assert.assertNotNull(image);
}
@Test