package com.ruoyi.auction.util;
|
|
import com.google.zxing.BarcodeFormat;
|
import com.google.zxing.EncodeHintType;
|
import com.google.zxing.WriterException;
|
import com.google.zxing.common.BitMatrix;
|
import com.google.zxing.qrcode.QRCodeWriter;
|
import com.ruoyi.system.api.util.HuaWeiOBSUtil;
|
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayOutputStream;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.util.Base64;
|
import java.util.HashMap;
|
|
public class CreateQrCode {
|
|
private static final String base64Url = "data:image/png;base64,";
|
|
/**
|
* 创建二维码
|
*
|
* @param
|
* @param
|
* @return
|
* @throws IOException
|
* @throws WriterException
|
*/
|
public static String createQRCode(String json) throws IOException, WriterException {
|
QRCodeWriter qrCodeWriter = new QRCodeWriter();
|
|
HashMap<EncodeHintType, Object> hints = new HashMap<>();
|
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
|
BitMatrix bitMatrix = qrCodeWriter.encode(json, BarcodeFormat.QR_CODE, 600, 600, hints);
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", outputStream);
|
Base64.Encoder encoder = Base64.getEncoder();
|
String text = encoder.encodeToString(outputStream.toByteArray());
|
return base64Url + text;
|
}
|
|
/**
|
* 创建二维码
|
*
|
* @param
|
* @param
|
* @return
|
* @throws IOException
|
* @throws WriterException
|
*/
|
public static String createQRCodeToObs(String json) throws IOException, WriterException {
|
QRCodeWriter qrCodeWriter = new QRCodeWriter();
|
|
HashMap<EncodeHintType, Object> hints = new HashMap<>();
|
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
|
BitMatrix bitMatrix = qrCodeWriter.encode(json, BarcodeFormat.QR_CODE, 600, 600, hints);
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", outputStream);
|
InputStream is = new ByteArrayInputStream(
|
outputStream.toByteArray());
|
return HuaWeiOBSUtil.obsUploadStream(json, is);
|
}
|
|
public static void main(String[] args) throws IOException, WriterException {
|
String qrCodeToObs = createQRCodeToObs("123456");
|
System.out.println(qrCodeToObs);
|
}
|
}
|