public JsonResult <object> WXQrcode(WXQrcodeRequest request) { if (request == null) { return(JsonError("请求参数错误")); } if (!string.IsNullOrEmpty(request.ShareCode)) { if (!_weCharUserInfoService.ExistShareCode(request.ShareCode)) { return(JsonError("该分享码不存在")); } request.Pages += "?sharecode=" + request.ShareCode; } var fileName = request.Pages.Replace("/", "_").Replace("?", "-") + request.Width + ".jpg"; var dirpath = System.Web.HttpContext.Current.Server.MapPath("~/Upload/WecharImg/"); var savePath = dirpath + fileName; var servicePath = "/Upload/WecharImg/" + fileName; if (File.Exists(savePath)) { return(JsonNet(servicePath)); } lock (WXQrCodeSequenceLock) { using (var ms = new MemoryStream()) { var result = WXHelper.GetWxaCode(ms, request.Pages, request.Width); if (result.errcode == Senparc.Weixin.ReturnCode.请求成功) { Image image = Image.FromStream(ms); if (!Directory.Exists(dirpath)) { Directory.CreateDirectory(dirpath); } image.Save(savePath); image.Dispose(); } else { return(JsonError(result.errmsg)); } } } return(JsonNet(servicePath)); }