Мои изображения вдруг не будут работать в моем приложении.Во время разработки они появляются идеально.Но все мои изображения не там во время выполнения.У меня есть они в папке изображений.Я использую "~ /", чтобы вернуться в корневой каталог.Это раньше работало и по какой-то причине перестало работать.Есть идеи?
<asp:Image ID="imgFirstElected" runat="server"
ImageUrl="~/Images/calendar_icon.gif" style="cursor:pointer;" />
Редактировать:
Хорошо, я только что узнал, что это из-за моего ImageHandler.Если я удалю этот код из моего web.config, мои изображения появятся снова.Любая идея, как я могу решить эту проблему?
<httpHandlers>
<add verb="*" path="*.bmp" type="CurrentFigures.HttpImageHandler,CurrentFigures"/>
<add verb="*" path="*.jpg" type="CurrentFigures.HttpImageHandler,CurrentFigures"/>
<add verb="*" path="*.gif" type="CurrentFigures.HttpImageHandler,CurrentFigures"/>
<add verb="*" path="*.png" type="CurrentFigures.HttpImageHandler,CurrentFigures"/>
</httpHandlers>
Редактировать: Код обработчика изображений
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
int imageid = Parser.GetInt(context.Request.QueryString["ImID"]);
ProfileImage image = new ProfileImage(Parser.GetInt(imageid));
if (imageid > 0)
{
context.Response.ContentType = "image/jpeg";
Stream strm = ShowImage(imageid);
byte[] buffer = new byte[4096];
int byteSeq = strm.Read(buffer, 0, 4096);
while (byteSeq > 0)
{
context.Response.OutputStream.Write(buffer, 0, byteSeq);
byteSeq = strm.Read(buffer, 0, 4096);
}
}
/*
string imageid = context.Request.QueryString["ImID"];
ProfileImage image = new ProfileImage(Parser.GetInt(imageid));
context.Response.BinaryWrite(image.ImageData);
context.Response.End(); */
}
public Stream ShowImage(int imageID)
{
ProfileImage image = new ProfileImage(Parser.GetInt(imageID));
try
{
return new MemoryStream(image.ImageData);
}
catch
{
return null;
}
}