.NET开发微信小程序-生成二维码/上传图片到服务器
2017-12-05 15:36
976 查看
1.生成小程序二维码功能
直接请求相应的链接。传递相应的参数
以生成商铺的付款码为例:
var shopsId = e.ShopsId //付款码的参数 var codeModel = new function () { } codeModel.path = "pages/PageWxPay/PageWxPay?shopsId=" + shopsId codeModel.width = 430 codeModel.auto_color = false codeModel.line_color = { "r": "0", "g": "0", "b": "0" } var data = { shopsID: shopsId, data: JSON.stringify(codeModel) } console.log(data) api.RequestApiURL("Weixin/MyPaymentCode", data, function (codeData) { console.log(codeData) var obj = codeData.data.data if (obj.Key == "0") { that.setData({ payCodeUrl: app.globalData.apiurl + obj.Value }) wx.hideLoading() } else { wx.showToast({ title: obj.Value }) } })
后台代码处理
private static object obj = new object(); /// <summary> /// 创建二维码 /// 接口A: 适用于需要的码数量较少的业务场景 接口地址: /// 接口B:适用于需要的码数量极多,或仅临时使用的业务场景 /// 接口C:适用于需要的码数量较少的业务场景 /// </summary> /// <param name="data">前台传递的数据</param> /// <param name="path">图片存储位置</param> /// <param name="toKen"></param> /// <returns></returns> public static bool CreateWxaqrCode(Utils.QrCodeType nType, string data, string path, string toKen, out string ExcaptionMassage) { ExcaptionMassage = ""; bool msg = false; string url = string.Empty; switch (nType) { case Utils.QrCodeType.A: url = "https://api.weixin.qq.com/wxa/getwxacode?access_token={0}"; break; case Utils.QrCodeType.B: url = "http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}"; break; case Utils.QrCodeType.C: url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={0}"; break; } url = string.Format(url, toKen); lock (obj) { //判断当前用户是否生成二微码 if (!System.IO.File.Exists(path)) { try { //获取数据流 Stream str = Request.PostMoths(url, data); byte[] by = Utils.StreamToBytes(str); Utils.PreservationCodeImage(path, by); //保存该文件 msg = true; } catch(Exception e) { ExcaptionMassage= e.Message; msg = false;//出现异常 } } } return msg; }
注:PostMoths方法在小程序基础配置里面有StreamToBytes方法PreservationCodeImage方法在支付里面有。
2、上传图片到服务器
上传图片分为几种:
a:上传图片到本地(永久保存) b:上传图片到本地(临时保存) c:上传图片到服务器
a和b在小程序的api文档里面有。直接说C:上传图片到服务器
前端代码:
/* 上传图片到服务器 wx.uploadFile url:后台上传文件路径地址 data:自定义参数 {'userID':'0001'} fileName:接收数据的参数名称,后台参数类型:System.Web.HttpPostedFileWrapper CallBack:返回路径 暂时fileName方法传的是:file */ function UploadImage(url,data,fileName,CallBack) { wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths wx.showLoading({ title: '正在上传', mask: true}) wx.uploadFile({ url: url, filePath: tempFilePaths[0],//临时路径 name: fileName, formData: data, success: function (res) { var data = res.data wx.hideLoading() CallBack(data) } }) } }) }
后台实现:
/// <summary> /// 上传图片 /// </summary> /// <param name="file"></param> /// <param name="userID"></param> /// <returns></returns> public string UploadImage(HttpPostedFileWrapper file, string userID) { var msg= bll.UploadImage(file.InputStream, userID); var result = new ReturnResult<string>(msg); return result.Serialize(); }
file参数里面就是数据流的信息,可自行获取之后进行保存。
本文作者:KidYang
原文地址:NET开发微信小程序-生成二维码-教程-小程序社区-微信小程序-微信小程序开发社区-小程序开发论坛-微信小程序联盟
相关文章推荐
- .NET开发微信小程序-生成二维码 - 转
- 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
- 微信小程序开发之本地图片上传(leancloud)
- thinkphp微信开发之jssdk图片上传并下载到本地服务器
- PHP版 微信小程序生成带参数小程序二维码图片 php接口+小程序demo
- 微信小程序开发(二)图片上传+服务端接收详解
- Android开发:仿微信和QQ空间发说说相册读取、拍照、图片裁剪和图片上传服务器等功能的实现
- thinkphp微信开发之jssdk图片上传并下载到本地服务器
- 微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
- 微信小程序服务器请求和上传数据,上传图片并展示,提交表单完整实例代码附效果图
- 微信小程序上传图片到服务器实例代码
- 微信小程序开发(二)图片上传
- 【原创】.Net 微信 JS-SDK图片、语音上传接口的实现(MVC)-(二 、上传图片服务器操作)
- 微信小程序图片选择、上传到服务器、预览(PHP)实现实例
- 微信公众号开发《四》使用微信JS-SDK实现手机图片上传,支持压缩、预览。并下载图片到自身服务器
- 微信小程序 —— 上传文件到服务器(例:上传图片到服务器)
- [转]微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
- 微信公众平台开发[10]-开发模式-高级功能-将图片、视频、音频I内容上传到微信服务器并发送给用户
- 【微信开发】SpringMVC将url生成二维码图片直接展示在页面上
- 微信小程序-从相册获取图片,视频 使用相机拍照,录像上传+服务器(nodejs版)接收