C# base64 Img 互转

[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Upload(HttpPostedFileBase fileData)
{
try
{
if (fileData != null)
{
string ext = Path.GetExtension(fileData.FileName).Remove(0, 1); // 文件扩展名
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 = 0;
byte[] data = new byte[stream.Length];
stream.Read(data, 0, (int)stream.Length);
stream.Close();
string base64String = "data:" + ext + ";base64," + Convert.ToBase64String(data, 0, 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,") + 7;
int len1 = base64.IndexOf("data:") + 5;
string ext = base64.Substring(len1, len - len1 - 8);
string filePath = "/Content/newsImg/" + DateTime.Now.ToString("yyyyMMddHHmmssfff.") + ext;
base64 = base64.Remove(0, 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 "";
}

时间: 2024-10-03 13:40:08

C# base64 Img 互转的相关文章

C# Image与Base64编码互转函数

/// <summary> /// 根据base64字符串返回一个封装好的GDI+位图. /// </summary> /// <param name="base64string">可转换成位图的base64字符串.</param> /// <returns>Bitmap对象.</returns> public Bitmap GetImageFromBase64(string base64string) { byt

Base64编码 图片与base64编码互转

package com.education.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; /** * Created by jn-dinggao on 2016/2/4. */ public class Base64Util { // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 public static String GetImageStr(Stri

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

/// <summary>  /// 将字符串编码为Base64字符串  /// </summary>  /// <param name="str">要编码的字符串</param>  private string Base64Encode(string str)  {   byte[] barray;   barray=Encoding.Default.GetBytes(str);   return Convert.ToBase64Str

Java 实现文件和base64字符串互转

项目中遇到需要将图片转成base64编码的字符串的需求,但是,考虑到扩展性,写了一个可以转换任务类型文件的方法.需要引入的包: <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version> </dependency> 源码如下: import sun.mis

Openssl base64命令

一.简介 对文件件进行base64的编码与解码 二.语法 openssl base64 [-in filename] [-out filename] 三.实例 1.二进制文件与base64编码互转 openssl base64 -in pubkey.bin -out pubkey.pemopenssl base64 -d -in pubkey.pem -out pubkey.bin 参考:http://blog.csdn.net/as3luyuan123/article/details/1441

C# 数据类型之 String(字符串)

?  前言 在开发中最常见的数据类型就是 String 类型,即字符串类型.为什么要单独讨论下这个类型,是因为:它是系统内置的基础数据类型:它的使用频率非常高:它是一个特殊的引用类型.其实大家都会使用它,但可能或多或少了解不够全面,本文主要是抱着:学习.巩固.总结的目的去加深对它的了解,主要学习一下几点: 1.   什么是 string 类型 2.   创建 string 对象的方式 3.   String 的常用静态方法 4.   string 的常用实例方法 5.   string 的常用扩

Android 开发实用方法大全

1.格式化价格,这个经常在计算费用精度的时候用到 /** * 格式化价格 * * @param argStr 传入价格字符串 * @return */ public static String getFloatDotStr(String argStr) { float arg = Float.valueOf(argStr); DecimalFormat fnum = new DecimalFormat("##0.00"); return fnum.format(arg); } 2.获取

使用HTML5的File实现base64和图片的互转

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Base64 和 图片互转java工具类

package com.fengyunhe.helper.image; import java.io.*; /** * 图片base64互转 * Created by yangyan on 2015/8/11. */ public class ImageBase64Utils { public static String bytesToBase64(byte[] bytes) { return org.apache.commons.codec.binary.Base64.encodeBase64