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相互转换的更多相关文章

  1. UIImage与Base64相互转换

    UIImage与Base64相互转换 采用第三方类 Address:https://github.com/l4u/NSData-Base64/ 经测试好用. 2013-07-17

  2. python PIL/cv2/base64相互转换

    PIL和cv2是python中两个常用的图像处理库,PIL一般是anaconda自带的,cv2是opencv的python版本.base64在网络传输图片的时候经常用到. ##PIL读取.保存图片方法 ...

  3. 图片与Base64相互转换 jar包

    1.右键项目 -->Properties -->Java Bulid Path-> Libraries -->JRE System Library-->Access ru ...

  4. C# Base64字符串转换成图片及图片转换为Base64

    最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下   字符串与Base64相互转换 ...

  5. 【CTF】WDCTF-finals-2017 3-11 writeup

    题目来源:WDCTF-finals-2017 题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade ...

  6. php base64格式的图片字符串和图片文件相互转换的代码

    在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据.如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同 ...

  7. 重温delphi之:如何将Bitmap位图与base64字符串相互转换

    先引用delphi自带的单元 uses EncdDecd; 然后就可以使用下面二个函数了: by 菩提树下的杨过 http://yjmyzz.cnblogs.com/ ///将Bitmap位图转化为b ...

  8. C#中BASE64和图片相互转换

    //图片 转为    base64编码的文本        private void button1_Click(object sender, EventArgs e)        {        ...

  9. byte[] Base64 Stream 之间相互转换

    图片 base64转byte[] /// <summary> /// 保存base64图片,返回阿里云地址 /// </summary> /// <param name= ...

随机推荐

  1. MySQL闪退

    把配置文档的如图位置打开

  2. Thinkphp 导出csv 先存储在服务器,然后输出链接下载

    public function exportQiandao() { // header("Content-type:text/html;charset=gb2312"); ini_ ...

  3. WCF服务编程 读书笔记——第1章 WCF基础(2)

    续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...

  4. IOCP~~

    下载源代码 原文网址:http://www.codeproject.com/KB/IP/iocp_server_client.aspx 源码使用了高级的完成端口(IOCP)技术,该技术可以有效地服务于 ...

  5. Hadoop各个启动流

    (0)如果集群是第一次启动,需要格式化namenodehadoop@node1:~$ hdfs namenode –format (1)启动HDFS:hadoop@master:~$ start-df ...

  6. centos7 编译安装nginx

    转载文章 原文地址 https://www.cnblogs.com/liujuncm5/p/6713784.html 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可 ...

  7. 前端jq设置下拉框的,单选框,复选框的帖子

    $(function(){ var sex=$("#sex").val(); var marriageStatus=$("#marriageStatus").v ...

  8. docker-compose 配置

    本文介绍compose配置文件参数的使用,熟练编写compose文件 [root@docker lnmp]# cat lnmp.yaml version: '3' services: nginx: b ...

  9. C# TinyIOC简单用法

    先添加一个接口 namespace IContract { public interface IBase { void ShowMessage(); } } 再添加两个实现类 namespace Co ...

  10. Django Meta

    Available Meta options abstract 如果为True,这个model就是抽象类 app_label 如果模型是在INSTALLED_APPS中的应用程序之外定义的,它必须声明 ...