文章目录
- 一、思路
- 二、实现
-
- 1、Program.cs
- 2、二维码辅助类QrCodeHelper.cs
- 三、效果
-
- 保存后:
一、思路
环境:
1、内容生成二维码图片
2、保存到wwwroot为png格式
3、返回存储路径保存到数据库
4、前端读取显示
二、实现
1、Program.cs
1//配置静态文件路径 2app.UseStaticFiles(new StaticFileOptions 3{ 4 FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot")), 5}); 6
2、二维码辅助类QrCodeHelper.cs
1using QRCoder.Core; 2using System.Drawing; 3using System.Drawing.Imaging; 4namespace Common 5{ 6 /// <summary> 7 /// 二维码生成 8 /// </summary> 9 public class QrCodeHelper 10 { 11 /// <summary> 12 /// 生成二维码并保存到指定路径 13 /// </summary> 14 public String Create(string content, int size = 20) 15 { 16 string uploadPath = ""; 17 string filename = DateTime.Now.ToString("HHssmm") + ".png"; 18 //保存路径 19 uploadPath = $"wwwroot\\upload\\{DateTime.Now.ToString("yyMMdd")}\\"; 20 if (!Directory.Exists(uploadPath)) 21 Directory.CreateDirectory(uploadPath); 22 // 创建QRCodeGenerator实例 23 QRCodeGenerator qrGenerator = new QRCodeGenerator(); 24 // 生成二维码数据,ECCLevel.Q表示纠错级别(可选Q/L/M/H) 25 QRCodeData qrCodeData = qrGenerator.CreateQrCode(content, QRCodeGenerator.ECCLevel.Q); 26 // 创建二维码图像 27 QRCode qrCode = new QRCode(qrCodeData); 28 // 获取Bitmap对象,参数:像素大小、前景色、背景色 29 Bitmap qrCodeImage = qrCode.GetGraphic(size, Color.Black, Color.White, false); 30 31 // 保存到指定路径(默认PNG格式) 32 qrCodeImage.Save(uploadPath + filename, ImageFormat.Png); 33 34 // 释放资源(避免内存泄漏) 35 qrCodeImage.Dispose(); 36 //返回读取路径 37 return $"/upload/{DateTime.Now.ToString("yyMMdd")}/"+filename; ; 38 39 } 40 } 41} 42/* 43// 使用示例 44 QrCodeHelper cd = new QrCodeHelper(); 45 m.qrcodeSrc = cd.Create("https://www.example.com"); 46// 支持:需要nuget QRCoder.Core包 47*/ 48
三、效果

保存后:



读出的路径加上api前缀就OK
《.net8.0_webapi 生成二维码》 是转载文章,点击查看原文。