QRCodeController.cs 799 B

1234567891011121314151617181920212223242526
  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. [HttpGet]
  14. public IActionResult GetQRCode(string data)
  15. {
  16. using (var qrGenerator = new QRCodeGenerator())
  17. using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.Q))
  18. using (var pngByteQrCode = new PngByteQRCode(qrCodeData))
  19. {
  20. var pngBytes = pngByteQrCode.GetGraphic(20, false);
  21. return File(pngBytes, "image/png");
  22. }
  23. }
  24. }
  25. }