验证Base64字符串

时间:2014-02-01 09:08:37

标签: c# html5 base64

我正在将图像转换为html5移动客户端上的base64并将该字符串发布到我的webapi服务。我尝试将收到的字符串转换回图像,我得到以下异常

  

输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或非法字符   在填充字符中。

Pastebin of base64 string is here

我已经阅读了有关重放错误字符的所有建议,所以我将此功能转移到第一部分并将其传递给它,但没有运气。

    private string FixBase64ForImage(string Image)
    {
        System.Text.StringBuilder sbText = new System.Text.StringBuilder(Image, Image.Length);

        sbText.Replace("\r\n", String.Empty);

        sbText.Replace(" ", String.Empty);

        sbText.Replace('-', '+');

        sbText.Replace('_', '/');

        sbText.Replace(@"\/", "/");

        return sbText.ToString();
    }

有没有办法确切知道哪个字符导致转换失败?

1 个答案:

答案 0 :(得分:3)

我的猜测是你在字符串的开头包含了"data:image/png;base64,"部分 - 你需要先删除它。你不需要做任何其他事情 - 使用pastebin中的文本,Convert.FromBase64String处理“base64”之后的所有内容,而不会出现任何问题。