Я просто отправляю строку base64 через ajax на страницу aspx с кодом C#. Строка никогда не попадает на C#. Он всегда выходит пустым.Не могу отправить строку Base64 на C# через AJAX
Ajax отправляется в почтовом запросе, а все остальные поля полей отправляются штрафом.
Моя строка выглядит следующим образом: QmFzZSA2NCDigJQgTW96aWxsYSBEZXZlbG9wZXIgTmV0d29yaw==
Метод, который посылает строку в C# код за это:
string signature = Request.Form.Get("newsig");
var pdfContents = PDFHelper.GeneratePDF(pdfPath, formFieldMap, signature);
Код позади:
string base64image = sig;
// Convert base64string to bytes array
var newbytes = Convert.FromBase64String(base64image);
Иногда base64 строка длиной - может ли это быть проблемой? Есть ли лучший способ обработки строк base64 в C#?
UPDATE: мой Аякса метод пост:
var localbase64string = localStorage["signature"];
var b64 = localbase64string.replace(/^data:image\/(png|jpg);base64,/, "");
var formData = new FormData($(this)[0]);
formData.append('newsig', b64);
var sendPost = 'http://xxx.xx/this.aspx';
$.ajax({
type: 'POST',
data: formData,
processData: false,
contentType: false,
timeout: 50000,
url: sendPost,
success: function(data){
alert('Sent!');
window.location.href = './../mainmenu.html';
}, error:function(){
alert("something went wrong!");
}
});
Где ваш код Ajax? –
Не думал, что это необходимо, так как сообщения в форме прекрасно. Включая строку base64, которую я использовал ранее. Я вижу, что ответ получает строку, но ее публикация является нулевой каждый раз. – MizAkita
Какой метод ajax используется для отправки данных, POST или GET, если он получен, он не будет формой, но будет частью строки запроса? – Dreamweaver