.NET将图片Base64字符串还原为图片(jpg格式)并保存到本地
2016-04-13 16:25
357 查看
1. 了解Base64字符串的形式是:data:image/jpeg;base64,字符串
2 .Base64字符串转换为图片的代码实现:
string[] str = base64Str.Split(','); //base64Str为base64完整的字符串,先处理一下得到我们所需要的字符串
byte[] imageBytes = Convert.FromBase64String(str[1]);
//读入MemoryStream对象
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
memoryStream.Write(imageBytes, 0, imageBytes.Length);
// 转成图片
Image image = Image.FromStream(memoryStream);
// 图片名称
string iname = DateTime.Now.ToString("yyMMddhhmmss");
image.Save(Server.MapPath("pic\\") + iname + ".jpg"); // 将图片存到本地
特别注意:如果使用AJAX从前台得到base64字符串,需要做如下处理:
base64Str.Replace(" ", "+")
这主要是因为AJAX在传输过程中将字符串中的“+”全部变为空格
2 .Base64字符串转换为图片的代码实现:
string[] str = base64Str.Split(','); //base64Str为base64完整的字符串,先处理一下得到我们所需要的字符串
byte[] imageBytes = Convert.FromBase64String(str[1]);
//读入MemoryStream对象
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
memoryStream.Write(imageBytes, 0, imageBytes.Length);
// 转成图片
Image image = Image.FromStream(memoryStream);
// 图片名称
string iname = DateTime.Now.ToString("yyMMddhhmmss");
image.Save(Server.MapPath("pic\\") + iname + ".jpg"); // 将图片存到本地
特别注意:如果使用AJAX从前台得到base64字符串,需要做如下处理:
base64Str.Replace(" ", "+")
这主要是因为AJAX在传输过程中将字符串中的“+”全部变为空格
相关文章推荐
- 集成学习:Bagging与随机森林
- css去掉iPhone、iPad默认按钮样式
- 编程技巧 - 关联+Block
- show profile的使用
- Linux下Bash编程之條件判斷详解(二)
- MacOSX系统下安装PyQt5.5.1
- 整数逆序输出 几种方法小结(Java实现)
- CoordinatorLayout AppBarLayout 结合下拉刷新 上拉加载更多 的滑动冲突解决
- 关于深度学习理论方面的一些疑问
- 第6周项目3-IP地址类
- js Date
- 教你用CSS代码写出的各种形状图形
- 修改Windows Server 2008+IIS 7+ASP.NET默认连接限制,支持海量并发连接数
- 第六次实验报告(1)--学生成绩管理
- 299. Bulls and Cows
- MD5和RSA
- Android中显示html标签解决方案
- Java transient关键字使用小记
- Unity 部分错误信息提示
- 极限学习机(ELM)算法的matlab与C++实现