I want to push a file to the browser from a website using a webservice. I’m currently reading the file into a base64 byte array, and returning that from the webservice. This webservice is called from a website, and i’m stuck on how to push this as the original file to the browser. Ideally I would like to read the byte array into a memory stream, and then just write it to the Response stream if possible so the end user just downloads the file.
Share
First, rather than send a base64 byte array, have your web service simply return a byte array for your file.
Response.OutputStream.Write()will automatically base64 encode your bytes, so you might as well have them un-encoded in your memory stream.Second, you’ll need more than just the bytes. You’ll need meta-data associated with the file. For the snippet below, I’ve placed all of that metadata into a separate class (local instance named “file”). Then, just use this snippet, once you have the data you need: