base64规则:
- 字符串只可能包含A-Z,a-z,0-9,+,/,=字符
- 字符串长度是4的倍数
- =只会出现在字符串最后,可能没有或者一个等号或者两个等号
首先,C# 做上传文件的时候,需要替换掉这些字符:
data:image/jpeg;base64,
data:image/png;base64,
data:image/gif;base64,
如果还存在错误的话,可以进行一些字符替换试试:
上面两步操作完了还没有解决问题的话,可以调试看看base64字符串的长度,如果长度不是4的倍数,比如8057或者8041,可以尝试截掉最后一个字符,使字符长度变为4的倍数。(能正常解决bug,但不确定是否会产生其他问题)
上面两个长度其实是本人调试的时候遇到的,神奇的是,复制粘贴后就会变成8056长度,可以正常解析。如果有大佬知道是怎么回事的话,欢迎评论沟通。
Original: https://www.cnblogs.com/magel/p/13093338.html
Author: magel
Title: Base-64字符串无效,The input is not a valid Base-64 string as it contains a non-base 64 character
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582672/
转载文章受原作者版权保护。转载请注明原作者出处!