解码base64流到图像

时间:2012-10-15 18:24:54

标签: c# javascript asp.net

我正在使用javascript从客户端发送base64编码图像(我正在使用http://supa.sourceforge.net/为asp.net应用程序创建截屏上载器applet),这会向服务器发送ajax请求以存储图像。在服务器上我在asp.net应用程序中使用GenericHanlder中的HttpContext。

如何将图像数据从HttpContext转换为服务器上的图像?

2 个答案:

答案 0 :(得分:45)

首先,您需要将base 64转换回字节:

byte[] data = System.Convert.FromBase64String(fromBase64);

然后,您可以将其加载到Image:

的实例中
MemoryStream ms = new MemoryStream(data);
Image img = Image.FromStream(ms);

如果您想将其保存到文件中,请使用System.IO.File.WriteAllBytes

答案 1 :(得分:7)

我需要做类似的事情,但想直接使用InputStream,所以用它来做解码:

// using System.Security.Cryptography
var stream = new CryptoStream(Request.InputStream, new FromBase64Transform(), CryptoStreamMode.Read);
var img = Image.FromStream(stream);