Image和Base64相互转换
1.图片转换为Base64
/// <summary>
/// 图片转换为base64
/// </summary>
/// <param name="imagefile">图片路径</param>
/// <param name="picFomatter">图片格式(.jpg、.png等)</param>
/// <returns></returns>
public string GetBase64FromImage(string imagefile,string picFomatter)
{
string strbaser64 = "";
try
{
Bitmap bmp = new Bitmap(imagefile);
MemoryStream ms = new MemoryStream(); ImageFormat format = ImageFormat.Jpeg; switch (picFomatter)
{
case "png":
format = ImageFormat.Png;
break;
case "bmp":
format = ImageFormat.Bmp;
break;
} bmp.Save(ms, format);
byte[] arr = new byte[ms.Length];
ms.Position = ;
ms.Read(arr, , (int)ms.Length);
ms.Close();
ms.Dispose();
strbaser64 = Convert.ToBase64String(arr);
switch (picFomatter)
{
case "jpg":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
case "jpeg":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
case "bmp":
strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64;
break;
default:
strbaser64 = "data:image/png" + ";base64," + strbaser64;
break;
}
}
catch (Exception)
{
throw new Exception("Something wrong during convert!");
}
return strbaser64;
}
2.Base64转换图片
/// <summary>
/// Base64转换图片
/// </summary>
/// <param name="strbase64">base64字符串</param>
/// <param name="picFomatter">图片格式</param>
/// <returns></returns>
public string Base64StringToImage(string strbase64, string picFomatter)
{
try
{
byte[] arr = Convert.FromBase64String(strbase64);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
string filePath = System.AppDomain.CurrentDomain.BaseDirectory;
ImageFormat format = ImageFormat.Jpeg; switch (picFomatter)
{
case "png":
format = ImageFormat.Png;
break;
case "bmp":
format = ImageFormat.Bmp;
break;
}
string filename = filePath + DateTime.Now.ToFileTime().ToString() + "." + picFomatter;
bmp.Save(filename, format);
ms.Close();
return filename;
}
catch (Exception ex)
{
return null;
}
}
/// <summary>
/// 判断是否Base64编码
/// </summary>
/// <param name="s">编码字符串</param>
/// <returns></returns>
public bool IsBase64(string s)
{
try
{
Convert.FromBase64String(s);
return true;
}
catch (FormatException)
{
return false;
}
}
Image和Base64相互转换的更多相关文章
- UIImage与Base64相互转换
UIImage与Base64相互转换 采用第三方类 Address:https://github.com/l4u/NSData-Base64/ 经测试好用. 2013-07-17
- python PIL/cv2/base64相互转换
PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本.base64在网络传输图片的时候经常用到. ##PIL读取.保存图片方法 ...
- 图片与Base64相互转换 jar包
1.右键项目 -->Properties -->Java Bulid Path-> Libraries -->JRE System Library-->Access ru ...
- C# Base64字符串转换成图片及图片转换为Base64
最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下 字符串与Base64相互转换 ...
- 【CTF】WDCTF-finals-2017 3-11 writeup
题目来源:WDCTF-finals-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade ...
- php base64格式的图片字符串和图片文件相互转换的代码
在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据.如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同 ...
- 重温delphi之:如何将Bitmap位图与base64字符串相互转换
先引用delphi自带的单元 uses EncdDecd; 然后就可以使用下面二个函数了: by 菩提树下的杨过 http://yjmyzz.cnblogs.com/ ///将Bitmap位图转化为b ...
- C#中BASE64和图片相互转换
//图片 转为 base64编码的文本 private void button1_Click(object sender, EventArgs e) { ...
- byte[] Base64 Stream 之间相互转换
图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...
随机推荐
- Java虚拟机学习(1): 类加载机制
转自:微信公共号ImportNew 来源:java2000_wl 链接:blog.csdn.net/java2000_wl/article/details/8040633 JVM把class文件加载的 ...
- windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法(转载)
windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法 转自:https://www.cnblogs.com/sufferingStriver/p/m ...
- jquery 常用工具方法
inArray(value, array [, fromIndex ])方法类似于原生javascript的indexOf()方法,没有找到匹配元素时它返回-1.如果数组第一个元素匹配参数,那么$.i ...
- CodeForces 690D1 The Wall (easy) (判断连通块的数量)
题意:给定一个图,问你有几个连通块. 析:不用说了,最简单的DFS. 代码如下: #include <bits/stdc++.h> using namespace std; const i ...
- 编写高质量代码改善C#程序的157个建议——建议138:事件和委托变量使用动词或形容词短语命名
建议138:事件和委托变量使用动词或形容词短语命名 事件和委托使用场景是调用某个方法,只不过这个方法由调用者赋值.这决定了对应的变量应该以动词或形容词短语命名. 关于事件和委托变量妥当的命名示例如下: ...
- IIS8如何安装和使用URL重写工具-URL Rewrite
下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开I ...
- [LintCode笔记了解一下]44.Minimum Subarray
这道题和max subarray很类似,我用local 和 global 的dp方式阔以解决这道 那么我们来看动态规划的四个要素分别是什么? State: localmin[i] 表示以当前第i个数最 ...
- hadoop大致问题
一.项目编码实现 HDFS文件上传 HDFS文件下载 定位文件读取 通过API操作HDFS 通过IO流操作HDFS HDFS写数据流程 HDFS读数据流程 统计一堆文件中单词出现的个数(WordCou ...
- Entity Framework Code First 遭遇mapping 不能识别map类问题
EF在OnModelCreating方法中,使用DbModelBuilder注册EntityTypeConfiguration子类时,是不管namespace的, 所以如果出现class名字相同,则会 ...
- 20145218张晓涵 web安全基础实践
20145218张晓涵 web安全基础实践 1.实验后回答问题 SQL注入攻击原理,如何防御 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令 ...