Декодировать Javascript FileReader Base64 в C # - PullRequest
0 голосов
/ 17 июня 2019

У меня есть следующий Javascript-код для преобразования файла в base64:

File.prototype.convertToBase64 = function (callback) {
    var FR = new FileReader();
    FR.onload = function (e) {
        callback(e.target.result)
    };
    FR.readAsDataURL(this);
}

пример вывода будет:

data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj [...] /j+vigYmLtYx9n0tGzJIyZKIzsYyRRWj0RfdWtCiQdF9rH8f18SMciL7X8DJMySJ8uC4JDRWjH8CEiitULVaMf68GQYn2PvskyciSs26tDWr0ooorsWi0WiFIei0Y/10QkQkWWXo+xaNjetdjHo9YlFdi1eiell6LRj/AGIshIUjcKRej1Ws

Но я могуне декодируйте его следующим образом: byte[] data = Convert.FromBase64String(base64Image);

Он говорит, что не может распознать расположение данных.Как я могу декодировать данные base64, поступающие из FileReader в JS в C #?

1 Ответ

0 голосов
/ 17 июня 2019

Благодаря Томасу я нашел решение.

Декодеру C # не нравится заголовок: data:image/jpeg;base64,

Вы можете исправить это с помощью этого короткого кода:

int index = base64Image.IndexOf("base64,") + "base64,".Length;
string base64String = base64Image.Remove(0, index);
...