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中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入.比如上面那串字符,其实是一张小图片,将这些字 ...
随机推荐
- 移动测试===利用adb命令查看apk文件包名的一些方法
前提是已经下载android SDK并配好环境变量! 在控制台输入命令$adb shell pm 可以看到adb shell pm的相关用法,详细信息请自己看输出 要看一个apk文件的相关信息最简单实 ...
- printk一些技巧【转】
转自:http://haohetao.iteye.com/blog/1147791 转自:http://blog.csdn.net/wbd880419/article/details/73530550 ...
- 【bzoj2006】NOI2010超级钢琴
补了下前置技能…… 题意就是求一段区间的权值和前k大的子序列的和. 把段扔进优先队列 每次拿出来之后按照所选择的j进行分裂 #include<bits/stdc++.h> #define ...
- DXEditingRow的错误原因
原因之一:例如commbox理由id这一列但是数据库表中没有的话就会报这个错误
- The content of element type "resultMap" must match "(constructor?,id*,result*,association*,collectio
The content of element type "resultMap" must match "(constructor?,id*,result*,associa ...
- POJ 2912 Rochambeau(种类并查集+枚举)
题目链接:http://poj.org/problem?id=2912 题目大意:n个人玩,玩石头剪刀布游戏,其中1人是裁判,剩下的n-1个人分为3组, 他们商量好了,相同组的人每次都出相同的手势,不 ...
- web请求响应
转载自:SanMaoSpace 1.Web开发的定义首先看看微软对Web开发的定义:Web开发是一个指代网页或网站编写过程的广义术语.网页使用 HTML.CSS 和 JavaScript编写.这些页面 ...
- sharding-jdbc 实现分表
Sharding-JDBC 简介 Sharding-JDBC直接封装JDBC API,可以理解为增强版的JDBC驱动,旧代码迁移成本: 可适用于任何基于Java的ORM框架,如:JPA.HIberna ...
- 基础平台为第三方应用接入提供oauth2认证接口
oauth2开放认证协议原理及案例分析 http://blog.csdn.net/volcan1987/article/details/7287605 谈谈基于OAuth 2.0的第三方认证 [上篇] ...
- [loj#2566][BZOJ5333] [Sdoi2018]荣誉称号 树形dp
#2566. 「SDOI2018」荣誉称号 休闲游戏玩家小 Q 不仅在算法竞赛方面取得了优异的成绩,还在一款收集钻石的游戏中排名很高. 这款游戏一共有 n 种不同类别的钻石,编号依次为 1 到 n ...