Base64转换图片
原文链接:https://blog.csdn.net/lilinoscar/article/details/79238070
将base64字符串转换为Image图片,现在移动端手机上,有些H5页面上传图片,就是将图片转换为base64位,可以选择直接存储这个字符串,也可转换本地图片,代码入下:
var base64 = "";//这里存base64的字符串
base64 = base64.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//将base64头部信息替换
byte[] bytes = Convert.FromBase64String(base64);
MemoryStream memStream = new MemoryStream(bytes);
Image mImage = Image.FromStream(memStream);
将图片存为本地:
Bitmap bp = new Bitmap(mImage);
MemoryStream ms = new MemoryStream();
bp.Save(DateTime.Now.ToString("yyyyMMddHHss") + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);//注意保存路径
不是有效的Base-64字符串
输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符
原文链接:https://blog.csdn.net/cmhdl521/article/details/88745855
C# 做上传文件的时候,需要替换掉这些字符:
data:image/jpeg;base64
data:image/png;base64
data:image/gif;base64
不然会报错:输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符
字符串太大截断尾部
关于CString初始化时提示字符串太大的解决
原文链接:https://blog.csdn.net/winnyrain/article/details/70312907
问题代码:
CString str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUV”;
反正很长,超过2048字节的时候,编译器会提示:
error C2026: 字符串太大,已截断尾部字符
这种情况其实并不是CString引起的,而是因为编译器在读取一行代码的时候,限制了超长代码行。
解决方案:
将字符串换行书写:
CString str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
类似这样即可。
标签:字符,c#,image,base64,Base,慢跑,字符串,data From: https://www.cnblogs.com/fusio/p/17335804.html