public void ReadQRCode(string base64Image, string id) { try { if (!string.IsNullOrEmpty(base64Image)) { string pattern = @"(data:image/jpeg;base64,|data:image/png;base64,)"; base64Image = Regex.Replace(base64Image, pattern, string.Empty, RegexOptions.Compiled | RegexOptions.IgnoreCase); byte[] imageBytes = Convert.FromBase64String(base64Image); MemoryStream ms = new MemoryStream(imageBytes); DataResult <QRReaderModel> scanningResult = QRScannerHelpers.ScanQR(ms); if (scanningResult.Status.IsSuccess) { Clients.Caller.onDecodeSuccess(scanningResult.Data, id); } else { Clients.Caller.onError(scanningResult.Status.Errors, id); } } else { Clients.Caller.onError("Invalid QR Code. QR Code image is null.", id); } } catch (Exception ex) { string error = ex.Message; Clients.Caller.OnError(error, id); } }
public ActionResult ScanQRCode(ScanQRPayLoad payload) { DataResult <QRReaderModel> scanningResult = new DataResult <QRReaderModel>(); try { List <string> errors = new List <string>(); if (!string.IsNullOrEmpty(payload.Base64Image)) { string pattern = @"(data:image/jpeg;base64,|data:image/png;base64,)"; payload.Base64Image = Regex.Replace(payload.Base64Image, pattern, string.Empty, RegexOptions.Compiled | RegexOptions.IgnoreCase); byte[] imageBytes = Convert.FromBase64String(payload.Base64Image); MemoryStream ms = new MemoryStream(imageBytes); scanningResult = QRScannerHelpers.ScanQR(ms); return(Json(scanningResult)); } else { scanningResult.Status.Errors.Add("Invalid QR Code. QR Code image is null."); return(Json(scanningResult)); } } catch (Exception ex) { scanningResult.Status.Errors.Add(ex.Message); } return(Json(scanningResult)); }