将base64字符串转换为字节数组

时间:2019-01-23 11:54:07

标签: javascript jquery ajax asp.net-mvc base64

我有一个表单,用户可以使用props.deleteStudent(ele.id)将图片上传到页面上。使用javascript上的函数,我将此图像转换为base64并将其发送到服务器。在服务器上,我需要将base64转换为字节数组。我有用在base64序列末尾具有==或=的图片执行此操作的代码。但是,如果序列末尾的图片没有这些符号,则会发生错误。

查看代码:

<input id = "fileLoader" type = "file" />

控制器代码:

$('#modalWindow').on('click', '#btnConfirm', function () {
        $.ajax({
            type: "POST",
            url: "/Home/_AddNewCar",
            data: $('form').serialize() + "&base64img=" + $('#autoPicture').attr('src'),
            success: function (data) {
                $('#autoPicture').attr('src', data);
            },
            error: function (error) {
                alert(error.responseText);
            }
        });
    });

如何使任何base64序列转换为字节数组?

不翻译的base64序列的示例:

[HttpPost]
        public String _AddNewCar(Car car, string base64img)
        {
            var base64arr = base64img.Split(',');
            byte[] picture = Convert.FromBase64String(base64arr[1]);
        }

错误:

  

字符串或Base-64字符数组的长度

1 个答案:

答案 0 :(得分:0)

是的,您可以使用以下代码

byte[] imageBytes = Convert.FromBase64String(base64String);

您可以在以下位置找到更多信息 https://www.aspsnippets.com/Articles/Convert-Base64-string-to-Byte-Array-using-C-and-VBNet.aspx