二维码实时生成,无需存储服务器
引用包:ThoughtWorks.QRCode
/// <summary>
/// 生成二维码base64
/// </summary>
/// <param name="ELink_Url">二维码链接</param>
/// <returns></returns>
public string GetQRCode(string ELink_Url)
{
//初始化二维码生成工具
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
qrCodeEncoder.QRCodeVersion = 0;
qrCodeEncoder.QRCodeScale = 4;
//将字符串生成二维码图片
Bitmap image = qrCodeEncoder.Encode(ELink_Url, Encoding.Default);
// 将二维码存储到路径imgpath上
// image.Save(imgpath, PictureBox.Image.RawFormat); //imgpath为绝对路径
// image.Dispose();
//无需存储服务器,直接返回base64图片,页面可直接查看
MemoryStream ms = new MemoryStream();
image.Save(ms, ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
string strbaser64 ="data:image/png;base64," + Convert.ToBase64String(arr);
return strbaser64;
}