using QRCoder;
namespace YuanXuan.IM.Common.Helpers
{
///
/// 二维码生成器
///
public class QRCoderHelper
{
///
/// 生成二维码的 URL
///
/// 网络路径
/// 二维码图片的base64字符串
public static string GenerateQRCodeUrl(string filePath)
{
if (string.IsNullOrWhiteSpace(filePath))
{
throw new ArgumentException("文件路径不能为空", nameof(filePath));
}
using (var qrGenerator = new QRCodeGenerator())
{
// 生成二维码数据
var qrCodeData = qrGenerator.CreateQrCode(filePath, QRCodeGenerator.ECCLevel.Q);
// 使用 PngByteQRCode 生成二维码字节数组
var pngByteQRCode = new PngByteQRCode(qrCodeData);
var qrCodeBytes = pngByteQRCode.GetGraphic(20);
// 将字节数组转换为 Base64 字符串
var base64String = Convert.ToBase64String(qrCodeBytes);
return $"data:image/png;base64,{base64String}";
}
}
}
}