【问题标题】:Decoding base64 Stream to image将base64流解码为图像
【发布时间】:2012-10-05 18:51:43
【问题描述】:
我正在使用 javascript 从客户端发送 base64 编码图像(我正在使用 http://supa.sourceforge.net/ 为 asp.net 应用程序创建屏幕截图上传器小程序),这会向服务器发送一个 ajax 请求以存储图像。在服务器上,我在 asp.net 应用程序的 GenericHanlder 中使用 HttpContext。
如何将图片数据从 HttpContext 转换为服务器端的图片?
【问题讨论】:
标签:
c#
javascript
asp.net
【解决方案1】:
首先,您需要将 base 64 转换回字节:
byte[] data = System.Convert.FromBase64String(fromBase64);
然后,您可以将其加载到 Image 的实例中:
MemoryStream ms = new MemoryStream(data);
Image img = Image.FromStream(ms);
如果您想将其保存到文件中,请使用System.IO.File.WriteAllBytes
【解决方案2】:
我需要做类似的事情,但想直接使用 InputStream,所以用它来做解码:
// using System.Security.Cryptography
var stream = new CryptoStream(Request.InputStream, new FromBase64Transform(), CryptoStreamMode.Read);
var img = Image.FromStream(stream);