生成扫描跳转到指定页面并带有参数的二维码

这篇博客介绍了如何在后台通过WAPSplittinRule.cs处理,调用异步方法Vshopprocess.cs来生成二维码,并将指定的页面地址和参数拼接在二维码中,从而实现在扫描后跳转到特定页面的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后台处理(WAPSplittinRule.cs)

using Hidistro.Core;

str3 = Globals.HostPath(HttpContext.Current.Request.Url) + "/Wapshop/ReferralAgreement.aspx?ReferralUserId=" + referraluserid.ToNullString();
this.userReferralQRCode.ImageUrl = "/api/VshopProcess.ashx?action=GenerateTwoDimensionalImage&url=" + str3;

第一行:拼接跳转地址和参数的字符串

第二行:调用异步生成二维码并把上面的地址、参数拼接进去

异步生成二维码(Vshopprocess.cs)

using Hidistro.Core;
using System.IO;
System.Drawing;using ThoughtWorks.QRCode.Codec;

private void GenerateTwoDimensionalImage(HttpContext context)
        {
            string str = Globals.HtmlDecode(context.Request["url"].ToString());
            if (!string.IsNullOrEmpty(str))
            {
                MemoryStream stream = Globals.GenerateTwoDimensionalImage(str);
                context.Response.ClearContent();
                context.Response.ContentType = "image/Jpeg";
                context.Response.BinaryWrite(stream.ToArray());
                context.Response.End();
            }
        }
public static MemoryStream GenerateTwoDimensionalImage(string url)
        {
            Bitmap bitmap = new QRCodeEncoder { QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE, QRCodeScale = 10, QRCodeVersion = 0, QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M }.Encode(url);
            MemoryStream stream = new MemoryStream();
            bitmap.Save(stream, ImageFormat.Png);
            return stream;
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值