SpringBoot中生成二维码的案例实战
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.imageio.ImageIO;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
@RestController
public class QrCodeController {
@GetMapping("/generateQrCode")
public byte[] generateQrCode() throws WriterException, IOException {
String content = "Hello, World!";
int width = 200;
int height = 200;
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix bitMatrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, width, height);
ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
MatrixToImageWriter.writeToStream(bitMatrix, "PNG", pngOutputStream);
return pngOutputStream.toByteArray();
}
}
这段代码定义了一个简单的Spring Boot REST控制器,其中包含了一个生成二维码的方法。当访问/generateQrCode
端点时,它会生成一个包含文本 "Hello, World!" 的二维码图片,并将其作为字节数组返回。这个例子使用了google-zxing
库来创建二维码,并且展示了如何在Spring Boot应用中处理图像。
评论已关闭