public GetQRCodeImageResult GetQRCodeImage(GetQRCodeImageArgs args) { GetQRCodeImageResult result; HttpRequestArgs requestArgs = new HttpRequestArgs(); requestArgs.Method = "POST"; requestArgs.Url = _fileServiceUri + "QRCode/GetQRCodeImage"; requestArgs.Content = JsonConvert.SerializeObject(args); _log.Write("向文件服务器发起 GetQRCodeImage 请求", requestArgs.Content, TraceEventType.Verbose); HttpRequestResult requestResult = _httpService.Request(requestArgs); if (requestResult.Success) { _log.Write("文件服务器 GetQRCodeImage 返回", requestResult.Content, TraceEventType.Verbose); result = JsonConvert.DeserializeObject <GetQRCodeImageResult>(requestResult.Content); } else { result = new GetQRCodeImageResult(); result.Message = requestResult.Exception.Message; } return(result); }
public ActionResult GetQRCodeImage() { GetQRCodeImageArgs args = RequestArgs <GetQRCodeImageArgs>(); GetQRCodeImageResult result = new GetQRCodeImageResult(); if (args == null || String.IsNullOrEmpty(args.Content)) { result.Message = "参数无效。"; return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); } Image qrImage = null; try { qrImage = QRCodeHelper.GetQRCode(args.Content); if (qrImage == null) { result.Message = "二维码生成失败。"; return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); } string targetDir = Path.Combine(Server.MapPath("/"), "FileStore", args.Domain.ToString()); string storeFileName = Guid.NewGuid().ToString() + ".jpg"; string outputFileName = Path.Combine(targetDir, storeFileName); qrImage.Save(outputFileName, ImageFormat.Jpeg); result.Success = true; result.FileName = String.Format("FileStore/{0}/{1}", args.Domain, storeFileName); } catch (Exception ex) { result.Message = ex.Message; } finally { if (qrImage != null) { qrImage.Dispose(); } } return(new ContentResult() { Content = JsonConvert.SerializeObject(result) }); }
public ActionResult GetCouponRecordQRCode() { string strRecordId = Request.QueryString["recordId"]; Guid recordId = Guid.Empty; if (String.IsNullOrEmpty(strRecordId) || Guid.TryParse(strRecordId, out recordId) == false) { return(RespondResult(false, "参数无效。")); } string url = _couponManager.GetRecordQRCodeImageUrl(recordId); if (String.IsNullOrEmpty(url)) { string serialNumber = Request.QueryString["serialNumber"]; string content = String.Format(_settingsManager.GetClientAddress(DomainContext) + "Home/QRCode/{0}?type=coupon&serialNumber={1}", DomainContext.Domain.Id, serialNumber); GetQRCodeImageArgs getQRCodeImageArgs = new GetQRCodeImageArgs(); getQRCodeImageArgs.Content = content; getQRCodeImageArgs.Domain = DomainContext.Domain.Id; GetQRCodeImageResult getQRCodeImageResult = _fileService.GetQRCodeImage(getQRCodeImageArgs); if (getQRCodeImageResult.Success == false) { return(RespondResult(false, "生成二维码失败:" + getQRCodeImageResult.Message)); } url = _fileService.FileServiceUri + getQRCodeImageResult.FileName; _couponManager.UpdateRecordQRCodeImageUrl(recordId, url); } return(RespondDataResult(url)); }