Sign In| Join
Get Help:Ask a Question in our Forums|Report a Bug|More Help Resources
Member
131 Points
108 Posts
Feb 13, 2012 08:09 PM|LINK
Thumnail image is returned via handler. First time all is OK. but when I do refresh, then istead of image is displayd some machine code in Firefox.
I traced to root cause with Fiddler, it is because first time Content-Type comes correctly image/png
but with refresh it is coming as text/html. what should be added, that after refresh browser still could get image/png? below is my code
Bitmap target = new Bitmap(width, height); context.Response.ContentType = "image/png"; using (Graphics graphics = Graphics.FromImage(target)) { graphics.CompositingQuality = CompositingQuality.HighSpeed; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.CompositingMode = CompositingMode.SourceCopy; graphics.DrawImage(photo, 0, 0, width, height); HttpCachePolicy cachePolicy = context.Response.Cache; cachePolicy.SetCacheability(HttpCacheability.Public); cachePolicy.VaryByParams["car_image_id"] = true; cachePolicy.SetOmitVaryStar(true); cachePolicy.SetExpires(DateTime.Now + TimeSpan.FromDays(365)); cachePolicy.SetValidUntilExpires(true); using (MemoryStream memoryStream = new MemoryStream()) { target.Save(memoryStream, ImageFormat.Png); //cashing using (FileStream diskCacheStream = new FileStream(cachePath, FileMode.CreateNew)) { memoryStream.WriteTo(diskCacheStream); } memoryStream.WriteTo(context.Response.OutputStream); } context.Response.End(); target.Dispose();
kvh
Member
131 Points
108 Posts
Thumbnail refresh
Feb 13, 2012 08:09 PM|LINK
Thumnail image is returned via handler. First time all is OK. but when I do refresh, then istead of image is displayd some machine code in Firefox.
I traced to root cause with Fiddler, it is because first time Content-Type comes correctly image/png
but with refresh it is coming as text/html. what should be added, that after refresh browser still could get image/png? below is my code
Bitmap target = new Bitmap(width, height); context.Response.ContentType = "image/png"; using (Graphics graphics = Graphics.FromImage(target)) { graphics.CompositingQuality = CompositingQuality.HighSpeed; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; graphics.CompositingMode = CompositingMode.SourceCopy; graphics.DrawImage(photo, 0, 0, width, height); HttpCachePolicy cachePolicy = context.Response.Cache; cachePolicy.SetCacheability(HttpCacheability.Public); cachePolicy.VaryByParams["car_image_id"] = true; cachePolicy.SetOmitVaryStar(true); cachePolicy.SetExpires(DateTime.Now + TimeSpan.FromDays(365)); cachePolicy.SetValidUntilExpires(true); using (MemoryStream memoryStream = new MemoryStream()) { target.Save(memoryStream, ImageFormat.Png); //cashing using (FileStream diskCacheStream = new FileStream(cachePath, FileMode.CreateNew)) { memoryStream.WriteTo(diskCacheStream); } memoryStream.WriteTo(context.Response.OutputStream); } context.Response.End(); target.Dispose();