14

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

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

4

2 回答 2

51

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

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

然后,您可以将其加载到 Image 的实例中:

MemoryStream ms = new MemoryStream(data);
Image img = Image.FromStream(ms);

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

于 2012-10-15T18:34:24.333 回答
12

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

// using System.Security.Cryptography
var stream = new CryptoStream(Request.InputStream, new FromBase64Transform(), CryptoStreamMode.Read);
var img = Image.FromStream(stream);
于 2016-03-04T11:56:01.180 回答