You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C#生成的QRCode图片嵌入HTML页面?

解决C#生成二维码后在HTML中显示的问题

你需要把内存中的Image对象转换成Data URI格式(Base64编码的图片数据),HTML的img标签支持这种格式作为src值,无需依赖本地文件或网络路径。

步骤1:修改C#代码生成Data URI

在原有生成二维码的代码基础上,添加将Image转成Base64字符串的逻辑:

string text = "QRCode test";
QRCodeGenerator qr = new QRCodeGenerator();
QRCodeData data = qr.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
QRCode code = new QRCode(data);

using (Image img = code.GetGraphic(5))
using (MemoryStream ms = new MemoryStream())
{
    // 将图片保存到内存流,选择PNG格式保证二维码清晰度
    img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
    byte[] imageBytes = ms.ToArray();
    // 构造Data URI格式的字符串
    string imgDataUri = $"data:image/png;base64,{Convert.ToBase64String(imageBytes)}";
    
    // 将imgDataUri传递给HTML渲染逻辑即可
    // 比如在后端渲染页面时直接嵌入,或通过接口返回给前端
}

步骤2:在HTML中使用Data URI

把生成的imgDataUri直接赋值给img标签的src属性:

<img src='{imgDataUri}'>

注意事项

  • 用using包裹Image和MemoryStream,确保资源被正确释放,避免内存泄漏。
  • 若生成的二维码尺寸过大,Data URI会增加HTML体积,此时可将图片保存到服务器磁盘,再给src设置对应文件路径;但二维码通常体积较小,Data URI是更简便的方案。

内容的提问来源于stack exchange,提问作者Emanuel Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 05:01:41