QRCodeController.cs 845 B

123456789101112131415161718192021222324252627
  1. using Microsoft.AspNetCore.Mvc;
  2. using QRCoder;
  3. namespace WebApplicationSample.Controllers
  4. {
  5. [Route("api/[controller]")]
  6. [ApiController]
  7. public class QRCodeController : ControllerBase
  8. {
  9. /// <summary>
  10. /// 生成二维码SVG
  11. /// </summary>
  12. /// <param name="data">数据</param>
  13. /// <param name="size">尺寸</param>
  14. [HttpGet]
  15. public IActionResult GetQRCode(string data)
  16. {
  17. using (var qrGenerator = new QRCodeGenerator())
  18. using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L))
  19. using (var pngByteQrCode = new PngByteQRCode(qrCodeData))
  20. {
  21. var pngBytes = pngByteQrCode.GetGraphic(20, false);
  22. return File(pngBytes, "image/png");
  23. }
  24. }
  25. }
  26. }