记录将Base64字符串转化为图片遇到的问题
今天通过与别人写的api交互,获取到了一个原为图片的base64字符串,在网上找到了相互转换的方法,但是在转化时,报出了“输入不是有效的 Base64 字符串,因为它包含非 base 64 字符”的错误,于是又开始在网上找办法解决,看到很多文章,基本上都是说base64字符串开头包含一些标题信息(如下示例),只要删除第一个逗号前面的所有内容(包括第一个逗号)就可以了,然而,这种方法对我遇到的问题并没有用,因为我获取到的base64字符串,没有标题信息,于是乎我有找啊找,然后运用在线工具对比,终于发现了我获取到的base64字符串的问题
data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAU2CAIAAABFtaRRAAAACXBIWXM...(太长了省略)
由于转化后的 Base64 字符串每76个字符便会进行换行操作,而在C#中,换行符会被直接转译成"\r\n",所以我获取到的Base64的字符串中,包含了许多的换行符,而想要解决这个问题也很简单,只需要清除换行的字符串就行了(灵感地址)
base64字符串.Replace("\\r\\n", "");
去除掉多余符号了,也是顺利的将base64转化为图片了,喵啊