C# base64编码的字符串与图片互转

时间:2023-01-22 13:17:39
        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编码的字符串与图片互转的更多相关文章

  1. base64编码的字符串与图片相互转换

    #region 图片转为base64编码的字符串---ImgToBase64String /// <summary> /// 图片转为base64编码的字符串 /// </summa ...

  2. C&num; base64编码的文本与图片互转

    /// <summary> /// base64编码的文本转为图片 /// </summary> /// <param name="txtFilePath&qu ...

  3. 将图片转换为Base64编码的字符串

    图片以文件的形式存在,可以在表单中使用. 也可以转换成Base64编码的字符串,从而在css.js中以字符串的形式使用图片.例如,在css中设置背景图片.在js中用ajax上传图片. <!DOC ...

  4. C&num; 在网页中将Base64编码的字符串显示成图片

    在写一个接口,返回的json里面有图片,是Base64编码的字符串. 测试接口的时候,发现原来在html显示,是直接可以将Base64编码的字符串显示成图片的. 格式如下: <img src=d ...

  5. 十六进制字符串jpg图片互转

    十六制字符串jpg图片互转(格式:FFD8FFE000104A******)如:FFD8FFE000104A46494600010100000100010000FFDB0043000806060706 ...

  6. base64编码的字符串&lpar;含有中文&rpar; 前端解码

    base64编码的字符串(含有中文) 前端解码 https://xue5602.github.io/2018/12/19/atob%E8%A7%A3%E7%A0%81utf-8%E5%AD%97%E7 ...

  7. Base64和本地以及在线图片互转

    package com.ruoyi.common.utils; import java.io.ByteArrayOutputStream; import java.io.FileInputStream ...

  8. Base64编码和其在图片的传输的应用

    Base64 [原文链接] 目前Base64已经成为网络上常见的传输8Bit字节代码的编码方式之一.做支付系统时,系统之间的报文交互都需要使用Base64对明文进行转码,然后再进行签名或加密,之后再进 ...

  9. js 显示 base64编码 的二进制流 图片

    Data URI scheme.Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入.比如上面那串字符,其实是一张小图片,将这些字 ...

随机推荐

  1. GitLab CI持续集成配置方案&lpar;补&rpar;

    上篇文章介绍了GitLab CI的持续集成配置方法,本篇文章将主要介绍NUnit的持续集成和遇到的一些坑 1.NUnit单元测试持续集成 下载NUnit.3.4.1.msi,https://githu ...

  2. 项目游戏开发日记 No&period;0x000005

    14软二杨近星(2014551622) 还有一周就要交项目了, 看着周围的人也都忙碌了起来, 看着大部分人的项目都已经初具容貌, 我们团队里面也搞得人心惶惶, 一来是, 时间不多了, 还有很多事情要做 ...

  3. cxf的soap风格&plus;spirng4&plus;maven 服务端

    简介 SOAP 比较复杂,基于XML,有对应规范:REST利用HTTP请请求方式GET,POST,PUT,delete约定具体操作.简单的说,SOAP通过传输XML,XML定义了请求和响应的具体数据, ...

  4. IOS APP的所有图标尺寸规范

    转自: http://blog.csdn.net/chonbj/article/details/25133247 像我一样记不住iOS应用图标像素尺寸的开发者不在少数,我经常需要查询不同设备上的应用尺 ...

  5. Android多分辨率适配

    前一阶段开发android项目,由于客户要求进行多分辨率适配,能够支持国内主流的分辨率手机.因此经过了几次开发走了很多弯路,目前刚刚领略了android多分辨率适配的一些方法. 先介绍一下所走的弯路, ...

  6. Akumuli时间序列数据库——列存储,LSM,MVCC

    Features Column-oriented time-series database. Log-structured append-only B+tree with multiversion c ...

  7. 【linux】内核&plus;文件系统下载到开发板

    K开发 欢迎转载,转载时请保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:htt ...

  8. jvm工具的使用

    打开Java VisualVm->工具->插件  如图: 关于要填写的URL地址到 http://visualvm.java.net/pluginscenters.html 找到jdk版本 ...

  9. 智能合约语言 Solidity 教程系列9 - 错误处理

    这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文 ...

  10. ABP框架 将EntityFrameworkCore生成的SQL语句输出到控制台

    首先 在 EntityFrameworkCore中安装 Microsoft.Extensions.Logging.Console nuget install Microsoft.Extensions. ...