| 1234567891011121314151617181920212223242526272829 |
- using System.Drawing;
- using System.Text;
- using Microsoft.AspNetCore.Mvc;
- using QRCoder;
- namespace WebApplicationSample.Controllers
- {
- [Route("api/[controller]")]
- [ApiController]
- public class QRCodeController : ControllerBase
- {
- /// <summary>
- /// 生成二维码SVG
- /// </summary>
- /// <param name="data">数据</param>
- /// <param name="size">尺寸</param>
- [HttpGet]
- public IActionResult GetQRCode(string data, int size = 180)
- {
- using (var qrGenerator = new QRCodeGenerator())
- using (var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.L))
- using (var svgQrCode = new SvgQRCode(qrCodeData))
- {
- var svgText = svgQrCode.GetGraphic(new Size(size, size), false, SvgQRCode.SizingMode.WidthHeightAttribute);
- return File(Encoding.UTF8.GetBytes(svgText), "image/svg+xml");
- }
- }
- }
- }
|