Я пытаюсь преобразовать байт[] в base64, но получаю ошибку

#javascript #c# #.net #base64 #qr-code

Вопрос:

Я хочу создать QR-код из пользовательских данных. Я использую нижеприведенную библиотеку для создания QR-кода.

 Install-Package QRCoder
 

Теперь я выполнил приведенный ниже код для преобразования данных в строку base64.

 private static Byte[] BitmapToBytes(Bitmap img)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
                return stream.ToArray();
            }
        }

        public JsonResult SaveVisitorEntry(string FirstName, string LastName)
        {
            //VisitorEntryDA pdm = new VisitorEntryDA();
            object obj = "";//pdm.getCity(country_id, Convert.ToInt64(state_id));
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData qrCodeData = qrGenerator.CreateQrCode(FirstName   " "   LastName, QRCodeGenerator.ECCLevel.Q);
            QRCode qrCode = new QRCode(qrCodeData);
            Bitmap qrCodeImage = qrCode.GetGraphic(20);
            ImageConverter converter = new ImageConverter();
            return Json(JsonConvert.SerializeObject(BitmapToBytes(qrCodeImage)));
        }
 

Ниже приведен мой AJAX-код, в котором я конвертирую Base64 в изображение и показываю свой QR-код в изображение.

 jQuery.ajax({
            url: "../VisitorEntry/SaveVisitorEntry",
            type: "POST",
            //data: "{function:'"   value   "'}",
            data: "{FirstName:'"   FirstName   "',LastName:'"   LastName   "'}",
            dataType: "json",
            traditional: true,
            contentType: "application/json; charset=utf-8",
            success: function (data) {

                debugger
                jQuery("#wait").css("display", "none");
                toastr['success']('Line Stoppage closed Successfully');
                //var results = JSON.parse(data);

                //if (results.length == 0) {
                //    jQuery("#wait").css("display", "none");
                //} else {
                //    f_group_data = results.Table;

                //    bindDropDown("function_name", f_group_data, "FUNCTION", "FUNCTION", "Select");
                //    jQuery('#function_name').chosen();
                //    jQuery('#function_name').trigger("chosen:updated");
                //    jQuery("#wait").css("display", "none");
                //}
               
                QrCodeImage.setAttribute('src', "data:image/jpg;base64,"   data);
                //setTimeout(function () {// wait for 5 secs(2)
                //    location.reload(); // then reload the page.(3)
                //}, 3000);

            },
            error: function (data) {
                jQuery("#wait").css("display", "none");
                console.log("error");
            }
        }); 
 

Я не получаю правильный формат строки base64 и получаю ошибку ниже в консоли.

 Failed to load resource: net::ERR_INVALID_URL
 

Ниже значения, которое я получаю в переменной данных

 ""iVBORw0KGgoAAAANSUhEUgAAAkQAAAJECAYAAAD34DtaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAC5MSURBVHhe7dZRiiNLFgTRt/9Nz2zABGrMQbcy7YB9exAZ1a3//pckSfJy/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w iJEnyev0gSpIkr9cPoiRJ8nr9IEqSJK/XD6IkSfJ6/SBKkiSv1w8i6b///qv6ujXaMK3Rhult6A6qPhWnG5ToUVZ9ao02TGu0YXobuoOqT8XpBiV6lFWfWqMN0xptmN6G7qDqU3G6QYkeZdWn1mjDtEYbprehO6j6VJxuUKJHWfWpNdowrdGG6W3oDqo FacblOhRVn1qjTZMa7Rhehu6g6pPxekGJXqUVZ9aow3TGm2Y3obuoOpTcbpBiR5l1afWaMO0Rhumt6E7qPpUnG5QokdZ9ak12jCt0YbpbegOqj4VpxuU6FFWfWqNNkxrtGF6G7qDqk/F6QYlepRVn1qjDdMabZjehu6g6lNxukGJHmXVp9Zow7RGG6a3oTuo lScblCiR1n1qTXaMK3Rhult6A6qPhWnG5ToUVZ9ao02TGu0YXobuoOqT8XpBiV6lFWfWqMN0xptmN6G7qDqU3G6QYkeZdWn1mjDtEYbprehO6j6VJxuUKJHWfWpNdowrdGG6W3oDqo FacblOhRVn1qjTZMa7Rhehu6g6pPxekGJXqUVZ9aow3TGm2Y3obuoOpTcbpBiR5l1afWaMO0Rhumt6E7qPpUnG5Qokdpyi30jUxrtFG/a402TLmFvpEpTjco0aM05Rb6RqY12qjftUYbptxC38gUpxuU6FGacgt9I9MabdTvWqMNU26hb2SK0w1K9ChNuYW kWmNNup3rdGGKbfQNzLF6QYlepSm3ELfyLRGG/W71mjDlFvoG5nidIMSPUpTbqFvZFqjjfpda7Rhyi30jUxxukGJHqUpt9A3Mq3RRv2uNdow5Rb6RqY43aBEj9KUW gbmdZoo37XGm2Ycgt9I1OcblCiR2nKLfSNTGu0Ub9rjTZMuYW kSlONyjRozTlFvpGpjXaqN 1Rhum3ELfyBSnG5ToUZpyC30j0xpt1O9aow1TbqFvZIrTDUr0KE25hb6RaY026net0YYpt9A3MsXpBiV6lKbcQt/ItEYb9bvWaMOUW gbmeJ0gxI9SlNuoW9kWqON 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 kam6 jMpjXauNQabZhyC30jU5xuUKJHacot9I1M19GZTWu0cak12jDlFvpGpjjdoESP0pRb6BuZrqMzm9Zo41JrtGHKLfSNTHG6QYkepSm30DcyXUdnNq3RxqXWaMOUW gbmeJ0gxI9SlNuoW9kuo7ObFqjjUut0YYpt9A3MsXpBiV6lFWfWqMN0xptmNZow7RGG1WfitMNSvQoqz61RhumNdowrdGGaY02qj4VpxuU6FFWfWqNNkxrtGFaow3TGm1UfSpONyjRo6z61BptmNZow7RGG6Y12qj6VJxuUKJHWfWpNdowrdGGaY02TGu0UfWpON2gRI y6lNrtGFaow3TGm2Y1mij6lNxukGJHmXVp9Zow7RGG6Y12jCt0UbVp J0gxI9yqpPrdGGaY02TGu0YVqjjapPxekGJXqUVZ9aow3TGm2Y1mjDtEYbVZ K0w1K9CirPrVGG6Y12jCt0YZpjTaqPhWnG5ToUVZ9ao02TGu0YVqjDdMabVR9Kk43KNGjrPrUGm2Y1mjDtEYbpjXaqPpUnG5QokdZ9ak12jCt0YZpjTZMa7RR9ak43aBEj7LqU2u0YVqjDdMabZjWaKPqU3G6QYkeZdWn1mjDtEYbpjXaMK3RRtWn4nSDEj3Kqk t0YZpjTZMa7RhWqONqk/F6QYlepRVn1qjDdMabZjWaMO0RhtVn4rTDUr0KKs tUYbpjXaMK3RhmmNNqo FacblOhRVn1qjTZMa7RhWqMN0xptVH0qTjco0aOs tQabZjWaMO0RhumNdqo lScbjD5w gfxUtdR2c2Jfm7 gtO/jD6T/lS19GZTUn rv6Ckz M/lO 1HV0ZlOSv6u/4OQPo/ UL3UdndmU5O/qLzj5w g/5UtdR2c2Jfm7 gtO/jD6T/lS19GZTUn rv6Ckz M/lO 1HV0ZlOSv6u/4OQPo/ UL3UdndmU5O/qLzj5w g/5UtdR2c2Jfm7 gtO/jD6T/lS19GZTUn rv6Ckz M/lO 1HV0ZlOSv6u/4OQPo/ UL3UdndmU5O/qLzj5w g/5UtdR2c2Jfm7 gtO/jD6T/lS19GZTUn rv6Ckz M/lO 1HV0ZlOSv6u/4OQPo/ UL3UdndmU5O/qLzj5w g/5UtdR2c2Jfm7 gtO/jD6T/lS19GZTUn rv6Ckz M/lO 1HV0ZlOSv6u/4OQPo/ UL3UdndmU5O/qL/gY kf2Umu0YVqjjUu9Dd2B6To6s2mNNup3xekGj6FHfqk12jCt0cal3obuwHQdndm0Rhv1u J0g8fQI7/UGm2Y1mjjUm9Dd2C6js5sWqON l1xusFj6JFfao02TGu0cam3oTswXUdnNq3RRv2uON3gMfTIL7VGG6Y12rjU29AdmK6jM5vWaKN V5xu8Bh65Jdaow3TGm1c6m3oDkzX0ZlNa7RRvytON3gMPfJLrdGGaY02LvU2dAem6 jMpjXaqN8Vpxs8hh75pdZow7RGG5d6G7oD03V0ZtMabdTvitMNHkOP/FJrtGFao41LvQ3dgek6OrNpjTbqd8XpBo hR36pNdowrdHGpd6G7sB0HZ3ZtEYb9bvidIPH0CO/1BptmNZo41JvQ3dguo7ObFqjjfpdcbrBY iRX2qNNkxrtHGpt6E7MF1HZzat0Ub9rjjd4DH0yC 1RhumNdq41NvQHZiuozOb1mijflecbvAYeuSXWqMN0xptXOpt6A5M19GZTWu0Ub8rTjd4DD3yS63RhmmNNi71NnQHpuvozKY12qjfFacbPIYe aXWaMO0RhuXehu6A9N1dGbTGm3U74rTDR5Dj/xSa7RhWqONS70N3YHpOjqzaY026nfF6QaPoUd qTXaMK3RxqXehu7AdB2d2bRGG/W74nSDx9Ajv9QabZjWaONSb0N3YLqOzmxao436XXG6wWPokV9qjTZMa7RxqbehOzBdR2c2rdFG/a443eAx9Mjr 66jM5tyC30j0xptXGqNNp5cnG7wGHrk9X3X0ZlNuYW kWmNNi61RhtPLk43eAw98vq 6 jMptxC38i0RhuXWqONJxenGzyGHnl933V0ZlNuoW9kWqONS63RxpOL0w0eQ4 8vu86OrMpt9A3Mq3RxqXWaOPJxekGj6FHXt93HZ3ZlFvoG5nWaONSa7Tx5OJ0g8fQI6/vu47ObMot9I1Ma7RxqTXaeHJxusFj6JHX911HZzblFvpGpjXauNQabTy5ON3gMfTI6/uuozObcgt9I9MabVxqjTaeXJxu8Bh65PV919GZTbmFvpFpjTYutUYbTy5ON3gMPfL6vuvozKbcQt/ItEYbl1qjjScXpxs8hh55fd91dGZTbqFvZFqjjUut0caTi9MNHkOPvL7vOjqzKbfQNzKt0cal1mjjycXpBo hR17fdx2d2ZRb6BuZ1mjjUmu08eTidIPH0COv77uOzmzKLfSNTGu0cak12nhycbrBY iR1/ddR2c25Rb6RqY12rjUGm08uTjd4DH0yOv7rqMzm3ILfSPTGm1cao02nlycbvAYeuT1fdfRmU25hb6RaY02LrVGG08uTjd4DD3y r7r6Mym3ELfyLRGG5dao40nF6cbPIYeeX3fdXRmU26hb2Rao41LrdHGk4vTDUr0KE1rtHGpNdp4ctfRmU3X0Znrd63RxqXidIMSPUrTGm1cao02ntx1dGbTdXTm l1rtHGpON2gRI/StEYbl1qjjSd3HZ3ZdB2duX7XGm1cKk43KNGjNK3RxqXWaOPJXUdnNl1HZ67ftUYbl4rTDUr0KE1rtHGpNdp4ctfRmU3X0Znrd63RxqXidIMSPUrTGm1cao02ntx1dGbTdXTm l1rtHGpON2gRI/StEYbl1qjjSd3HZ3ZdB2duX7XGm1cKk43KNGjNK3RxqXWaOPJXUdnNl1HZ67ftUYbl4rTDUr0KE1rtHGpNdp4ctfRmU3X0Znrd63RxqXidIMSPUrTGm1cao02ntx1dGbTdXTm l1rtHGpON2gRI/StEYbl1qjjSd3HZ3ZdB2duX7XGm1cKk43KNGjNK3RxqXWaOPJXUdnNl1HZ67ftUYbl4rTDUr0KE1rtHGpNdp4ctfRmU3X0Znrd63RxqXidIMSPUrTGm1cao02ntx1dGbTdXTm l1rtHGpON2gRI/StEYbl1qjjSd3HZ3ZdB2duX7XGm1cKk43KNGjNK3RxqXWaOPJXUdnNl1HZ67ftUYbl4rTDUr0KE1rtHGpNdp4ctfRmU3X0Znrd63RxqXidIMSPUrTGm1cao02ntx1dGbTdXTm l1rtHGpON2gRI/StEYbl1qjjSd3HZ3ZdB2duX7XGm1cKk43KNGjNK3RxqXWaOPJXUdnNl1HZ67ftUYbl4rTDUr0KE3X0ZkvdR2dub4vDt2pKXmSXrRE/0iYrqMzX o6OnN9Xxy6U1PyJL1oif6RMF1HZ77UdXTm r44dKem5El60RL9I2G6js58qevozPV9cehOTcmT9KIl kfCdB2d VLX0Znr  LQnZqSJ lFS/SPhOk6OvOlrqMz1/fFoTs1JU/Si5boHwnTdXTmS11HZ67vi0N3akqepBct0T8SpuvozJe6js5c3xeH7tSUPEkvWqJ/JEzX0ZkvdR2dub4vDt2pKXmSXrRE/0iYrqMzX o6OnN9Xxy6U1PyJL1oif6RMF1HZ77UdXTm r44dKem5El60RL9I2G6js58qevozPV9cehOTcmT9KIl kfCdB2d VLX0Znr  LQnZqSJ lFS/SPhOk6OvOlrqMz1/fFoTs1JU/Si5boHwnTdXTmS11HZ67vi0N3akqepBct0T8SpuvozJe6js5c3xeH7tSUPEkvWqJ/JEzX0ZkvdR2dub4vDt2pKXmSXrRE/0iYrqMzX o6OnN9Xxy6U1PyJL1oif6RMF1HZ77UdXTm r44dKem5El60RL9I2G6js58qevozPV9cehOTcmT9KKPoX90TGu0cak12rjU29AdmJJ/QW/IlFv6IsfQH41pjTYutUYbl3obugNT8i/oDZlyS1/kGPqjMa3RxqXWaONSb0N3YEr Bb0hU27pixxDfzSmNdq41BptXOpt6A5Myb gN2TKLX2RY iPxrRGG5dao41LvQ3dgSn5F/SGTLmlL3IM/dGY1mjjUmu0cam3oTswJf C3pApt/RFjqE/GtMabVxqjTYu9TZ0B6bkX9AbMuWWvsgx9EdjWqONS63RxqXehu7AlPwLekOm3NIXOYb aExrtHGpNdq41NvQHZiSf0FvyJRb iLH0B NaY02LrVGG5d6G7oDU/Iv6A2Zcktf5Bj6ozGt0cal1mjjUm9Dd2BK/gW9IVNu6YscQ380pjXauNQabVzqbegOTMm/oDdkyi19kWPoj8a0RhuXWqONS70N3YEp Rf0hky5pS9yDP3RmNZo41JrtHGpt6E7MCX/gt6QKbf0RY6hPxrTGm1cao02LvU2dAem5F/QGzLllr7IMfRHY1qjjUut0cal3obuwJT8C3pDptzSFzmG/mhMa7RxqTXauNTb0B2Ykn9Bb8iUW/oix9AfjWmNNi61RhuXehu6A1PyL gNmXJLX QY qMxrdHGpdZo41JvQ3dgSv4FvSFTbumLHEN/NKY12rjUGm1c6m3oDkzJv6A3ZMotfZHkD6N/ZE3X0ZlN19GZ6znllr5I8ofRP7Km6 jMpuvozPWccktfJPnD6B9Z03V0ZtN1dOZ6TrmlL5L8YfSPrOk6OrPpOjpzPafc0hdJ/jD6R9Z0HZ3ZdB2duZ5TbumLJH8Y/SNruo7ObLqOzlzPKbf0RZI/jP6RNV1HZzZdR2eu55Rb iLJH0b/yJquozObrqMz13PKLX2R5A jf2RN19GZTdfRmes55Za SPKH0T ypu…"
 

Комментарии:

1. Можете ли вы показать какой-нибудь пример значения внутри data переменной?

2. Итак, какую ценность data вы получаете в своем Javascript? Я бы не удивился, если бы это была строка с кавычками в начале и в конце, которую вам нужно было бы, например, удалить.

3. Вопрос Обновлен. Пожалуйста, проверьте значение, которое я получаю в переменной данных

4. Во-первых, никогда не создавайте свой собственный JSON (вы сделали это неправильно). Просто создайте объект: data: { FirstName, LastName } в современных браузерах, data: { FirstName: FirstName, LastName: LastName } в старых.

5. когда вы удаляете кавычки, это изображение png в кодировке base64 (не jpg)

Ответ №1:

Значение base64, указанное вами в вашем вопросе, искажено, я рекомендую не использовать сериализацию Json для этого ответа Api.

Попробуйте использовать Convert.ToBase64String

  • Убедитесь, что метод возвращает string
  • и запрос jQuery принимает/ожидает text dataType ответа.

Разница в конечной точке вашего Api

 public IActionResult SaveVisitorEntry(string FirstName, string LastName) 
{
  ...

  return Ok(Convert.ToBase64String(BitmapToBytes(qrCodeImage)));
}
 

Разница в вашем запросе

 jQuery.ajax({
  dataType: "text",
  success: function (data) {
    QrCodeImage.setAttribute('src', "data:image/jpg;base64,"   data);                
  }
}); 
 

Редактировать

  • Исправление включено contentType dataType , должно быть изменено для обработки ответа на запрос.

Дополнительно,

Хотя я не уверен, что это связано с проблемой, которую вы здесь наблюдаете, я думаю data , что полезная нагрузка запроса должна быть an object , а не a string .

   ...
  type: "POST",
  data: {
    FirstName: FirstName,
    LastName: LastName 
  },
  dataType: "text",
  ...
 

Вам также следует рассмотреть сценарии обработки , в которых оба Firstname Lastname параметра и являются null пробелами или string.Empty в конечной точке Api.

Я бы также string.Trim() здесь в качестве усилия по здравомыслию: qrGenerator.CreateQrCode($"{FirstName} {LastName}".Trim(), QRCodeGenerator.ECCLevel.Q);