简体   繁体   中英

Decoding base64 Stream to image

I am sending base64 encoded image from client side using javascript (I am creating Screenshot uploader applet for asp.net application using http://supa.sourceforge.net/ ) and this sends an ajax request to server to store the image. At server I am using HttpContext in GenericHanlder in asp.net application.

How to convert image data from HttpContext to image at server?

First, you need to convert the base 64 back into bytes:

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

Then, you can load it into an instance of Image:

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

If you want to save it to a file instead, use System.IO.File.WriteAllBytes

I needed to do something similar, but wanted to work directly with the InputStream, so used this to do the decoding:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM