C# base64编码的字符串与图片互转
protected string ImgToBase64String(string Imagefilename)
{
try
{
Bitmap bmp = new Bitmap(Imagefilename); MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
return Convert.ToBase64String(arr);
}
catch (Exception ex)
{
return null;
}
} //threeebase64编码的字符串转为图片
protected Bitmap Base64StringToImage(string base64Code)
{
try
{
string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
if (sPath.Substring(sPath.Length - 1, 1) != "\\")
{
sPath += "\\";
}
if (!Directory.Exists(sPath + "Temp"))
{
Directory.CreateDirectory(sPath + "Temp");
} string sFileName = sPath + "Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff"); byte[] arr = Convert.FromBase64String(base64Code);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms); string f1 = sFileName + ".jpg";
string f2 = sFileName + ".bmp";
string f3 = sFileName + ".gif";
string f4 = sFileName + ".png"; bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);
bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);
bmp.Save(sFileName + ".gif", ImageFormat.Gif);
bmp.Save(sFileName + ".png", ImageFormat.Png);
ms.Close(); #region 读取本地文件 FileStream fs = new FileStream(f1, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close(); Copy(photo); #endregion return bmp;
}
catch (Exception ex)
{
Response.Write(ex.Message);
return null;
}
} protected Bitmap Copy(byte[] arr)
{
try
{
string sPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
if (sPath.Substring(sPath.Length - 1, 1) != "\\")
{
sPath += "\\";
}
if (!Directory.Exists(sPath + "Temp\\Temp"))
{
Directory.CreateDirectory(sPath + "Temp\\Temp");
} string sFileName = sPath + "Temp\\Temp\\" + DateTime.Now.ToString("yyyyMMddHHmmssffff"); MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms); string f1 = sFileName + ".jpg";
string f2 = sFileName + ".bmp";
string f3 = sFileName + ".gif";
string f4 = sFileName + ".png"; bmp.Save(sFileName + ".jpg", ImageFormat.Jpeg);
bmp.Save(sFileName + ".bmp", ImageFormat.Bmp);
bmp.Save(sFileName + ".gif", ImageFormat.Gif);
bmp.Save(sFileName + ".png", ImageFormat.Png);
ms.Close(); return bmp;
}
catch (Exception ex)
{
Response.Write(ex.Message);
return null;
}
}
C# base64编码的字符串与图片互转的更多相关文章
- base64编码的字符串与图片相互转换
#region 图片转为base64编码的字符串---ImgToBase64String /// <summary> /// 图片转为base64编码的字符串 /// </summa ...
- C# base64编码的文本与图片互转
/// <summary> /// base64编码的文本转为图片 /// </summary> /// <param name="txtFilePath&qu ...
- 将图片转换为Base64编码的字符串
图片以文件的形式存在,可以在表单中使用. 也可以转换成Base64编码的字符串,从而在css.js中以字符串的形式使用图片.例如,在css中设置背景图片.在js中用ajax上传图片. <!DOC ...
- C# 在网页中将Base64编码的字符串显示成图片
在写一个接口,返回的json里面有图片,是Base64编码的字符串. 测试接口的时候,发现原来在html显示,是直接可以将Base64编码的字符串显示成图片的. 格式如下: <img src=d ...
- 十六进制字符串jpg图片互转
十六制字符串jpg图片互转(格式:FFD8FFE000104A******)如:FFD8FFE000104A46494600010100000100010000FFDB0043000806060706 ...
- base64编码的字符串(含有中文) 前端解码
base64编码的字符串(含有中文) 前端解码 https://xue5602.github.io/2018/12/19/atob%E8%A7%A3%E7%A0%81utf-8%E5%AD%97%E7 ...
- Base64和本地以及在线图片互转
package com.ruoyi.common.utils; import java.io.ByteArrayOutputStream; import java.io.FileInputStream ...
- Base64编码和其在图片的传输的应用
Base64 [原文链接] 目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一.做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进 ...
- js 显示 base64编码 的二进制流 图片
Data URI scheme.Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入.比如上面那串字符,其实是一张小图片,将这些字 ...
随机推荐
- python实战===用python识别图片中的中文
需要安装的模块 PIL pytesseract 需要下载的工具: http://download.csdn.net/download/bo_mask/10196285 因为之前百度云的链接总失效,所以 ...
- mips64高精度时钟引起ktime_get时间不准,导致饿狗故障原因分析【转】
转自:http://blog.csdn.net/chenyu105/article/details/7720162 重点关注关中断的情况.临时做了一个版本,在CPU 0上监控所有非0 CPU的时钟中断 ...
- ==和equals()方法的区别
==和equals()方法的区别 这是一道经典的面试题,但是很多人对其一直很困惑,最近刚好复习了他们两者的区别,现总结如下: 一.==:两端可以存放不同的数据 1.放基本数据类型:根据基本数据 ...
- keil问题:Error: failed to execute 'C:\Keil\ARM\BIN\ArmCC'
1.打开cmd,进入相应的路径下 cd C:\Keil\ARM\BIN\ 输入 armcc 若显示如下界面则说明keil已经注册 2.若注册成功还没解决问题,则说明软件是在网上下载的破解版的,建议卸 ...
- 安装Hadoop2.7和hive2.0以及redis
安装过程很简单,主要记录期间碰到的问题: 安装过程: 下载安装包: hadoop:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7. ...
- gulp配合vue压缩代码格式化
实际项目就是一个单页面.因此,我觉得用gulp足够,并且不需要webpack和vue-cli因为没有必要使用组件. 先来说一下项目结构 1. 然后来看看我的包管理package.json都用了啥,你也 ...
- VS Code开发技巧集锦
2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“MDCC 2016 移动开发者大会? 中国”(Mobile Developer Conference China)将在北京? ...
- java 连接 kerberos 认证的 HBase 和 HDFS
这是两个功能,都很简单就写一块了.. 简单到什么程度呢,简单到只贴代码就可以了... HBase package com.miras.data; import org.apache.hadoop.co ...
- 单断言VS多断言
STST 想和大家讨论一下,一个测试用例里只做一个断言还是一个用例里做多个相关的断言 比如有一个查询函数Query(id) 返回[姓名,性别,年龄] 那么是在一个测试用例里对这三个属性进行断言好? 还 ...
- HDU3466 Proud Merchants [背包]
题目传送门 Proud Merchants Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/O ...