【问题标题】: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

    【讨论】:

    • 查看 InputStream 属性的 MSDN 条目。它解释了如何将数据提取到字符串中:msdn.microsoft.com/en-us/library/… 将数据转换为字符串后,将其传递给 FromBase64String 方法,如上所示。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      相关资源
      最近更新 更多