[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Upload(HttpPostedFileBase fileData)
{
try
{
if (fileData != null)
{
string ext = Path.GetExtension(fileData.FileName).Remove(, ); // 文件扩展名
Image img = Image.FromStream(fileData.InputStream);
Bitmap bmp = new Bitmap(img);
MemoryStream stream = new MemoryStream();
bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
stream.Position = ;
byte[] data = new byte[stream.Length];
stream.Read(data, , (int)stream.Length);
stream.Close();
string base64String = "data:" + ext + ";base64," + Convert.ToBase64String(data, , data.Length);
return Json(base64String, JsonRequestBehavior.AllowGet);
}
}
catch (Exception)
{
}
return Json(null, JsonRequestBehavior.AllowGet);
}
public string Base64ToImg(string base64)
{
try
{
int len = base64.IndexOf("base64,") + ;
int len1 = base64.IndexOf("data:") + ;
string ext = base64.Substring(len1, len - len1 - );
string filePath = "/Content/newsImg/" + DateTime.Now.ToString("yyyyMMddHHmmssfff.") + ext;
base64 = base64.Remove(, len);
byte[] arr = Convert.FromBase64String(base64);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
bmp.Save(Server.MapPath(filePath), ext.ToLower().Contains("png") ? System.Drawing.Imaging.ImageFormat.Png : System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Close();
return filePath;
}
catch (Exception)
{
}
return "";
}

C# base64 Img 互转的更多相关文章

  1. java实现图片文件与Base64的互转

    通过form表单上传图片时,有时候web容器对文件大小的限制会影响我们上传.这时,前端页面可以考虑将图片转换成base64串来实现上传. 图片与Base64的互转,其实就是利用了文件流与Base64的 ...

  2. 字符串编码、Base64字符串 互转

    /// <summary>  /// 将字符串编码为Base64字符串  /// </summary>  /// <param name="str"& ...

  3. ASP图片格式与base64数据互转方法

    ASP图片格式与base64数据相互转换的方法,经常用于处理表单中存储有base64字符串格式的图片. 获取到base64数据,转换成图片 <% Subfolder=year(now)& ...

  4. Base64编码 图片与base64编码互转

    package com.education.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import jav ...

  5. C#和Python 图片和base64的互转

    C#实例代码: /// <summary> /// 图片转base64 /// </summary> /// <param name="bmp"> ...

  6. 图片和Base64字符串互转

    图片URL转成Base64字符串 /// <summary> /// 通过Url获取到Image格式的文件 /// </summary> /// <param name= ...

  7. 图片与base64的互转

    /// <summary>        /// 把图片转换到文本信息        /// </summary>        /// <param name=&quo ...

  8. C# Image与Base64编码互转函数

    public Bitmap GetImageFromBase64(string base64string) { byte[] b = Convert.FromBase64String(base64st ...

  9. html img Src base64 图片显示

    http://blog.csdn.net/knxw0001/article/details/10983605 大家可能注意到了,网页上有些图片的src或css背景图片的url后面跟了一大串字符,比如: ...

随机推荐

  1. html_随笔

    1 <h1>  </h> 标题 2 <p> </p> 段落 3 <br /> 换行 4 <!-- ...--> 注释 5 < ...

  2. linux之netstat命令

    netstat用于显示各种网络相关的信息,如网络连接,路由表接口状态(interface statistics), masquerade连接,多播成员(Multicast Memberships)等等 ...

  3. Mac OS X 10.8.2终端切换root用户

    方法一:1. 打开Terminal2. jonesduan-MacBook-Pro:~ user$ sudo -i3. 输入root密码即可. 方法二:和方法一中1和3步相同,只是第二步输入的命令不是 ...

  4. npm提速

    解决办法:npm --> cnpm https://npm.taobao.org

  5. kill命令

    *杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通 ...

  6. SB Admin 2 学习笔记1

    需要掌握能够搭建起一个 dashboard 的能力, 因为很少有运维开发团队有专职的前端, bootstrap 也要讲个基本法. SB Admin 2, 一个免费的 bootstrap theme, ...

  7. STM32F412应用开发笔记之五:结合W5500实现以太网通讯

    因实际使用需求我们测试一下网络通讯,在NUCLEO-F412ZG测试板上没有以太网部分,我们选择外接一个W5500的实验板.W5500支持SPI接口通讯,DC3.3V供源.而NUCLEO-F412ZG ...

  8. 接触PHP快4个月

    就要下班了,接触php快4个月,掌握的不好,需要实战,看到自己博客空空的,就mark一下吧!下班了...

  9. 解决Eclipse Failed to write core dump. Minidumps are not enabled by default on client versions

    -XX:+CreateMinidumpOnCrash 如果还有问题,就只能看日志了 T_T

  10. javascript 核心语言笔记 6 - 对象

    对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(h ...