.ashx ASP.NET Handler Изображение не отображается в HTML-элемент img - PullRequest
1 голос
/ 24 октября 2009

У меня странная проблема.

Я создал обработчик ASP.NET (AccidentMap.ashx), который получает растровое изображение и возвращает его.

Вот обработчик:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Drawing;

namespace BackOffice.Modules.Insurance_Company
{
    /// <summary>
    /// Summary description for $codebehindclassname$
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class AccidentMap : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            try
            {
                int id = Convert.ToInt32(context.Request.QueryString["ID"]);

                System.Web.Security.MembershipUser user = System.Web.Security.Membership.GetUser(context.User.Identity.Name);


                InsuranceCompany.InsuranceCompany insuranceCompany = new InsuranceCompany.InsuranceCompany();

                InsuranceCompany.Accident.Map map = insuranceCompany.GetMap(id, user.UserName, user.GetPassword());

                Bitmap bitmap = map.Image;


                System.IO.MemoryStream stream = new System.IO.MemoryStream();
                byte[] bitmapBytes;

                bitmap.Save(stream, bitmap.RawFormat);
                bitmapBytes = stream.ToArray();

                context.Response.ContentType = "image/jpeg";
                context.Response.OutputStream.Write(bitmapBytes, 0, bitmapBytes.Length);
            }
            catch
            {
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Получает изображение с помощью метода GetMap.

Если я вызываю этот обработчик в браузере, он отображает изображение:

homepagepreisvergleich.de / IMG / Интернет / browser.JPG homepagepreisvergleich.de/img/internet/Property.JPG

Итак, обработчик ashx возвращает изображение.

Когда я пытаюсь отобразить изображение на html-странице, ничего не отображается.

homepagepreisvergleich.de / IMG / Интернет / html.JPG

Вот HTML-код страницы:

<html>
<head>
<title>title</title>
</head>
<body>
<img scr="http://localhost:1849/Modules/Insurance%20Company/AccidentMap.ashx?ID=129" />

</body>
</html>

Это точно такой же URL, который используется в обоих сценариях.

Кто-нибудь понял, в чем причина этого странного поведения и как его решить?

Привет

Александр

Ответы [ 2 ]

3 голосов
/ 24 октября 2009

У вас есть "img scr" вместо "img src" в HTML?

0 голосов
/ 17 апреля 2012

Вы можете сделать это, добавив пространство имен:

System.Web.SessionState;

Используйте это как:

public class Handler : IHttpHandler, IRequiresSessionState
...