我正在使用javascript从客户端发送base64编码图像(我正在使用http://supa.sourceforge.net/为asp.net应用程序创建截屏上载器applet),这会向服务器发送ajax请求以存储图像。在服务器上我在asp.net应用程序中使用GenericHanlder中的HttpContext。
如何将图像数据从HttpContext转换为服务器上的图像?
答案 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);