Is is possible to write to the http response stream from a dynamically created bitmap using the Response.Write/WriteFile without saving the image to the hard drive?
+7
A:
You can use a MemoryStream
and assign it to Response.OutputStream
, or simply use Response.OutputStream
directly when saving the bitmap.
There is an example in the documentation on this page, though it simply saves the bitmap directly to the output stream:
// Set the correct content type, so browser/client knows what you are sending
Response.ContentType = "image/jpeg";
Response.Clear();
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bmp);
bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
Oded
2010-09-21 18:25:59
A:
Yes. Make sure you set the content-type correctly and it should work fine.
arx
2010-09-21 18:27:07
A:
If you have your bitmap stored in a byte[]
you can also dump that directly into Response.BinaryWrite(myByteArray);
, as long as you have your content-type, length and disposition set correctly (as mentioned by @arx).
Joel Etherton
2010-09-21 18:28:38