Я пытаюсь создать страницу Ashx, которая возвращает изображение в зависимости от идентификатора.Я только собираюсь поддерживать JPEG, PNG и GIF.Jpeg и png работают нормально, но gif-файлы доставляют мне неприятности.
Моя проблема в том, что тип изображения Gif (например, one ).Изображение отображается, но с зеленым фоном и без анимации.
Чего мне не хватает?Есть ли лучший способ заставить его вернуть изображения?
Это код, который я получил:
public void ProcessRequest(HttpContext context)
{
QuestMediaPresenter FPresenter = new QuestMediaPresenter();
var lMediaId = Convert.ToInt32(context.Request.QueryString["MediaId"]);
if (lMediaId == null)
{
throw new HttpException(404, "Invalid image id.");
}
var lStream = FPresenter.GetMedia(lMediaId);
context.Response.ContentType = getImageContentType(lMediaId);
Image lImage = Image.FromStream(lStream);
//I know the System.Drawing.Imaging.ImageFormat.Gif is hardcode but its not
//relevant to this question, will make it dynamic later, if its still the way to go.
lImage.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);
}
public bool IsReusable
{
get { return true; }
}