• 微信带参数二维码保存至本地


     怎么生成带参数二维码我就不说了接口自己看 

    生成带参数的二维码

    有人会说生成了带参数二维码都已经生成了为什么还要保存到本地呢  具体需求是这样的 要将生成的带参数二维码打包发给图片制作商制作 一个个另存为浪费时间 

    别的不说了说重点

         
        public static void SaveQrCodeImage(string strUrl)
        {
    
            try
            {
                System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
                Byte[] bytes = client.GetByteArrayAsync(strUrl).Result;
                // return new MemoryStream(bytes);
    
                byte[] tt = bytes; //StreamToBytes(stream);//将数据流转为byte[]  
    
                //在文件名前面加上时间,以防重名  
                string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
                //文件存储相对于当前应用目录的虚拟目录  
                string path = "/Uploads/imageminiqrcode/";
                //获取相对于应用的基目录,创建目录  
                string imgPath = System.Web.HttpContext.Current.Server.MapPath(path); //通过此对象获取文件名  
    
                if (!System.IO.Directory.Exists(imgPath)) //如果文件夹不存在则创建
                {
                    System.IO.Directory.CreateDirectory(imgPath);
                }
    
                System.IO.File.WriteAllBytes(HttpContext.Current.Server.MapPath(path + imgName), tt);//讲byte[]存储为图片  
    
            }
            catch
            {
                throw new Exception("获取二维码图片失败!");
            }
        }

    数据流转换为byte[]

        ///将数据流转为byte[]  
        public static byte[] StreamToBytes(Stream stream)
        {
            List<byte> bytes = new List<byte>();
            int temp = stream.ReadByte();
            while (temp != -1)
            {
                bytes.Add((byte)temp);
                temp = stream.ReadByte();
            }
            return bytes.ToArray();
        }

    使用方法

    protected void Page_Load(object sender, EventArgs e)
        {
        //
    "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQEE8jwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyMVFYY0pjbl84TVQxMDAwMDAwN2MAAgSytOxYAwQAAAAA"
        SaveQrCodeImage("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQEE8jwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyMVFYY0pjbl84TVQxMDAwMDAwN2MAAgSytOxYAwQAAAAA");
    }

    效果图

    当然还是要吐槽下微信给的带参数二维码机制可能考虑安全问题 导致弄个字节流自己读写二维码不太明智 全当复习复习了(*^__^*) 嘻嘻……

    欢迎园友吐槽...

  • 相关阅读:
    element-ui upload 上传图片之前压缩
    字符串截取substring放法传参不同返回不同
    vue中对于图片是否正常加载的思考
    前端图片合成并下载
    vue中图相对路径引用本地图片
    js计算精度
    vue-cli定义全局过滤器
    js加减乘除运算丢失精度 前端计算金额带小数点精度丢失问题
    鼠标样式大全
    js两小时倒计时,剩余时间倒计时,倒计时
  • 原文地址:https://www.cnblogs.com/moxuanshang/p/8601558.html
Copyright © 2020-2023  润新知