c# 生成微信小程序二维码
二维码生成
CreateWxCode("id=117", "pages/bookcheck/bookchecktime/bookchecktime", "430", "/Upload/2xcxcode/")
#region 生成小程序二维码
/// <summary>
/// 通过该接口生成的小程序码,永久有效,数量暂无限制。
/// </summary>
/// <param name="access_token"></param>
/// <returns></returns>
public static string CreateWxCode(string roomId, string page, string width,string picPath)
{
string ret = string.Empty, accesstoken = "", DataJson = "";
try
{
///获取token
string dappid = "?????"; //公众微信平台下可以找到
string dappsecret = "????????????"; //公众微信平台下可以找到
WeixinHelper weihelper = new WeixinHelper();
accesstoken = weihelper.IsExistAccess_Token(dappid, dappsecret);
string url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accesstoken;
DataJson = "{";
DataJson += string.Format("\"scene\":\"{0}\",", roomId);//所要传的参数用分看
DataJson += string.Format("\"width\":\"{0}\",", width);
DataJson += string.Format("\"page\":\"{0}\"", page);//扫码所要跳转的地址,根路径前不要填加'/'不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
DataJson += "}";
ret = CreateWeChatQrCode(url, DataJson, picPath);
}
catch (Exception e)
{
ret = e.Message;
}
return ret;//返回图片地址
}
/// <summary>
/// 返回二维码图片
/// </summary>
/// <param name="url"></param>
/// <param name="param"></param>
/// <returns></returns>
public static string CreateWeChatQrCode(string url, string param, string path)
{
string strURL = url;
HttpWebRequest request;
string imgName = string.Empty;
try
{
request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
request.Method = "POST";
request.ContentType = "application/json;charset=UTF-8";
string paraUrlCoded = param;
//byte[] payload;
byte[] payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
request.ContentLength = payload.Length;
Stream writer = request.GetRequestStream();
writer.Write(payload, 0, payload.Length);
writer.Close();
System.Net.HttpWebResponse response;
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.Stream s;
s = response.GetResponseStream();//返回图片数据流
byte[] tt = StreamToBytes(s);//将数据流转为byte[]
//在文件名前面加上时间,以防重名
imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
//获取相对于应用的基目录创建目录
string imgPath = System.Web.Hosting.HostingEnvironment.MapPath(path);//System.AppDomain.CurrentDomain.baxxxxseDirectory + path; //通过此对象获取文件名
if (!Directory.Exists(imgPath))
{
Directory.CreateDirectory(imgPath);
}
System.IO.File.WriteAllBytes(HttpContext.Current.Server.MapPath(path + imgName), tt);//讲byte[]存储为图片
}
catch (Exception ex)
{
}
return path + imgName;
}
/// <summary>
/// 将数据流转为byte[]
/// </summary>
/// <param name="stream"></param>
/// <returns></returns>
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();
}
#endregion
c# 生成微信小程序二维码相关推荐
- Java生成微信小程序二维码,5种实现方式,一个比一个简单
文章目录 前言 先看官网 一.JDK自带的URLConnection方式 二.Apache的HttpClient方式 三.okhttp3方式 四.Unirest方式 五.RestTemplate方式 ...
- Java生成微信小程序二维码
Java生成微信小程序二维码 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.Byt ...
- 【java】Java生成微信小程序二维码
文章目录 前言 应用场景 微信小程序官网 1.RestTemplate方式 核心代码 getAccessToken 2. Unirest方式 Maven依赖 核心代码 3. okhttp3方式 Mav ...
- 生成微信小程序二维码(携带参数跳转指定页面)
需求:生成微信小程序二维码并携带参数,扫码跳转指定页面 获取WxMaService对象 WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl ...
- Java生成微信小程序二维码、上传至阿里云OSS
依赖 <!-- 阿里云oss依赖 --><dependency><groupId>com.aliyun.oss</groupId><artifac ...
- 如何生成微信小程序二维码,小程序内页二维码
你自己得有个微信公众号,只需要知道小程序的名字就可以了 生成小程序二维码 第一步编辑素材 第二步搜索小程序名字,然后回车,下一步 第三步选小程序码 小程序内页二维码 第一步编辑素材 第二步搜索小程序名 ...
- django --生成微信小程序二维码
官文: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimit ...
- 生成微信小程序二维码,可跳转到小程序指定页面。
1.登录微信公众平台 2.登录成功后点击,工具-生成小程序码 3.根据小程序各种信息搜索到已上线的小程序,点击下一步 4.根据自己二维码要跳转的页面填写对应路径 5.保存二维码,扫码即可使用
- java生成微信小程序二维码(自定义带参)
准备工作: 1:获取微信小程序apiKey 2:获取微信小程序密钥 3:获取微信小程序页面链接 pom依赖: <dependency><groupId>com.alibaba& ...
最新文章
- 【numpy】np.genfromtxt非常的慢,并且需要读取文件的10倍内存
- 9 岁自学编程、24 岁身价涨至数百万美元,与微软一较高低的大佬多厉害?
- python双引号和单引号区别_Python中单引号,双引号,3个单引号及3个双引号的区别...
- 服务器 操作系统安装到sd卡,DELL服务器通过sd卡安装系统(iDRAC Use vFlash ).doc
- Java反射理解与案例
- 004 IOC---IOC容器
- [Java基础]为什么会出现字符流?与编码表介绍
- oracle 执行带参数的sql语句_当用EXECUTE IMMEDIATE执行SQL语句中的参数个数也是动态的?用什么方法实现?...
- 服务器无法在发送 http 标头之后设置内容类型。_python socket编程预知内容
- loss函数之MultiMarginLoss, MultiLabelMarginLoss
- JXSE 2.5 : What's Cool #5 -- java.util.concurrent
- 使用 Socket 通信实现 FTP 客户端程序
- 力扣 面试题 08.04. 幂集
- 第九周 单片机的定时器与计数器 模式寄存器TMOD 控制寄存器TCON
- thinkphp5.1接入银联支付
- cpython cython_Cython的用法以及填坑姿势
- ASUS AC88U 路由器开机自启方法
- 大一计算机基础试题答案,计算机基础知识试题及答案-(1).doc
- 如何在U-Boot中添加自定义命令
- RFID固定资产管理系统更好更快捷的掌握资产情况 资产盘查好帮手
热门文章
- thinkphp 页面静态化
- SDI接口详解(先占个坑)
- 基于HTML电商项目的设计与实现—— HTML+CSS+JavaScrip家具网页设计实例 企业网站制作...
- 10折交叉验证(10-fold Cross Validation)与留一法(Leave-One-Out)、分层采样(Stratification)...
- 虚幻5简单第三人称游戏制作文档
- 2020年中国酒水流通行业市场现状分析,政策推动龙头企业逐渐浮现「图」
- Oracle创建序列的方式
- 创造与魔法java语言_《创造与魔法》食谱大全
- Word 2003操作技巧之改变默认字体及恢复方法
- 渝粤题库 陕西师范大学 《旅游法规》作业