У меня есть веб-приложение MVC с функцией загрузки изображения на сервер.Функция работает на Android и Windows, но на iOS работает только частично.На iOS некоторые изображения могут быть преобразованы из строки base64 в байтовый массив, а некоторые другие - нет.Все изображения, которые я тестировал, имеют тип jpeg.
Изображение извлекается с помощью файлового ввода и затем кодируется в строку base64 с помощью javascript:
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
stringholder.value = reader.result;
picholder.src = reader.result;
};
Затем эта строка base64 передаетсяв контроллер, где он преобразуется в байтовый массив:
var split = Image01.Split(',');
string Image01_Type = split[0] + ",";
string Image01_B64String = split[1];
byte[] Image01_Data = Convert.FromBase64String(Image01_B64String);
Некоторые изображения приводят к следующей ошибке при попытке преобразования строки base64 в байтовый массив: «Недопустимая длина для массива Base-64 charили строка. "
Я не могу на всю жизнь понять, что является причиной ошибки.Файл изображения без ошибок конвертируется в javascript в строку base64, а сами строки base64 выглядят нормально.
Может кто-нибудь помочь мне выяснить, что происходит не так?
* Редактировать: Строка base64, похоже, усекается при конвертации в iOS.