iOS中的base64字符串将base64字符串转换为字节数组失败-“ Base-64 char数组或字符串的长度无效”

时间:2019-01-29 15:38:58

标签: c# ios arrays model-view-controller base64

我有一个MVC Web应用程序,该应用程序具有将图像上传到服务器的功能。该功能适用​​于Android和Windows,但仅部分适用于iOS。在iOS上,某些图像可以从base64字符串转换为字节数组,而另一些则不能。我测试过的所有图像都是jpeg类型。

通过文件输入检索图像,然后通过javascript将其编码为base64字符串:

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字符串本身看起来不错。

有人可以帮我找出问题所在吗?

*编辑:在iOS上转换时,base64字符串似乎被截断了。

0 个答案:

没有答案