Response.WriteFile — Write out a byte stream

前端 未结 4 1037
一整个雨季
一整个雨季 2020-12-31 21:18

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?

相关标签:
4条回答
  • 2020-12-31 21:44

    Yes. Make sure you set the content-type correctly and it should work fine.

    0 讨论(0)
  • 2020-12-31 21:47

    How about Response.BinaryWrite?

    0 讨论(0)
  • 2020-12-31 21:59

    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);
    
    0 讨论(0)
  • 2020-12-31 22:05

    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).

    0 讨论(0)
提交回复
热议问题