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);
     }
 }
Exemple #2
0
        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));
        }