我正在使用JavaScript发送客户端的base64编码图像(我正在使用http://supa.sourceforge.net/创建ASP.NET应用程序的截图上传器小程序),这会发送一个ajax请求到服务器以存储图像。在服务器上,我在ASP.NET应用程序的GenericHanlder中使用HttpContext。如何将HttpContext中的图像数据转换为图像?
首先,您需要将base64转换回字节:
byte[] data = System.Convert.FromBase64String(fromBase64);
然后,您可以将其加载到 Image 的实例中:
MemoryStream ms = new MemoryStream(data);
Image img = Image.FromStream(ms);
如果你想要把它保存到文件中,可以使用System.IO.File.WriteAllBytes。我需要做类似的事情,但想直接使用InputStream来处理,所以使用了以下代码进行解码:
// using System.Security.Cryptography
var stream = new CryptoStream(Request.InputStream, new FromBase64Transform(), CryptoStreamMode.Read);
var img = Image.FromStream(stream);