Base64 报错 的解决办法 (Base-64 字符数组或字符串的长度无效。, 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。)
Base64 报错 的解决办法, 报错如下:
1. FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters. ]
System.Convert.FromBase64String(String s) +0
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +77
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
2. 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。
3. Base-64 字符数组或字符串的长度无效。
解决方案:过滤特殊字符即可
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using MnCnyInterface; using System.Web; using System.Collections.Generic; using System.Collections.Specialized; using System.Linq; using System.IO; namespace UnitTestProject1 { [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() { try { var imgData = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCADwAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5UooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACip7azubpsWtvNMfSNC38q2LXwf4guTiLSrgH/poAn/oRFRKpCPxOxtTw1ar/AA4N+ibMCiuwi+HPiJhmS3hiH+3Mv9M1Yi+GeuyDO+yUe8jf/E1k8VRX2kdccoxstqUvuOHoru2+F+ugcS2J+krf/E1TuPh54hhHFtDJ/uTL/XFCxVF/aQSyjGx3pS+45City78J69aLmbSror6xp5g/8dzWNLFJC5SVGjcdVYYNbRnGXwu5x1KFSlpUi16qwyiiiqMgop8cbyuEjRnY9AoyafdW09pJ5d1BLDJgNtkQqcHocGldbD5Xa9tCGiiimIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvePCOh6PFoem3P8AZdsZpbeORpHTeSxUEnJzjn0rwevorwTIsvhLSeQcWyKR9BivMzOTjBWfU+q4VpwnXnzxT0/U2CkflYVVCAcADGKS2XEfuabIDECV+6eo9KktzmIYrwz7/oMb95Lt/hXrUjuI15/AUyH77/WibiVGb7tAB5xHLIQKkBV145BoBDDgg1GBsmAHRu1IBE/dybD909KbeW8VxFiaNJAOcOoIp9wMKG9Dmpeop36iavuZEuiaO6Bn0nT3Y+tsh/pTrfw9pEXI0uwDeot0GP0q5bgs5z0Sp5H2IT+VVzy2uZfV6V/hX3IjRILVdsESJn+FFAryP4zwY1iwuSu1pYCh99rf/ZV69EmPmbljXl3xwA8zR2HpMP8A0D/GuvL3/tC+f5Hj8RQX9nz02t+aPLqKKK+iPzQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvonwlYzWXhfTYZxsuEhG4emecH868d+HeinWPEcIdd1vb/vpPQ46D8T+gNe/wDavGzSqrqmvU+34Twkoxnin10X6/16jEIkjye/WorY7WaI9jxUlv8Adb0zUbITMxX7wryT7Ic/7uTf/CeDU3DD1FRo6uMMMHuDSeTj7jFfagCQKqfdAFRg+ZMCOi96PJLffckelSAKi4HAFICO4OVA9Tipe1QofNk3fwr096lc7VJPagCK3x85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"; //过滤特殊字符即可 string dummyData = imgData.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+"); if (dummyData.Length % 4 > 0) { dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '='); } byte[] byteArray = Convert.FromBase64String(dummyData); } catch (System.Exception exp) { // Error creating stream or reading from it. System.Console.WriteLine("{0}", exp.Message); return; } } } }
好消息,
程序员专用早餐机。和掌柜说 ideaam,可以节省20元。 点击链接 或復·制这段描述¥k3MbbVKccMU¥后到淘♂寳♀
或者 淘宝扫码 支持下同行哈
----------------------------------------------------------------------------------------------------------------------------
相关文章
- 算法基础:删除字符串中出现次数最少的字符(Golang实现)
- 【华为OD机试真题 python】 字符统计及重排【2022 Q4 | 100分】
- 华为python机试题目:整数与IP地址间的转换、图片整理、字串的连接最长路径查找、提取不重复的整数、字符串合并处理、字符串最后一个单词的长度、删除字符串中出现次数最少的字符
- 字符编码浅谈
- 获取某个字符字段的最后3个字符的函数是什么?
- 使用 Linux 命令来获取输入文件中特定字符的出现次数
- 【C语言】编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
- UTF8有很明显的特征:如果最高字节为0,则表示一个英文字符(与ASCII完全相同)。如果有2个以上1,表示是首个字节。如果最高位是10,则表示一个中间字节。
- textarea限制每行可输入固定个数的字符
- windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题
- Java里的IO基础知识笔记:IO流、字节流/字符流、File对象读取、输入流/输出流(使用过后及时关闭、缓冲区)、Filter模式、ZIP操作、读取classpath资源的意义、序列化/反序列化、Reader/Writer、使用Files工具类及其局限性
- 华为OD机试 - 考找字符(Python)| 真题+思路+考点+代码+岗位
- 动态限制EdiText仅仅能输入特定字符
- Java使用字符流拷贝文件出现乱码
- js 字符及字符串
- 【java养成】:I/O(输入/输出操作)——>File类、字节流、字符流
- 判断数字字符——Character.isDigit(char ch)实现源码详解
- Problem G: 沉迷字符的WJJ (LCS)