У меня есть тег img , и я хочу получить изображение по URL-адресу и отобразить в нем. Этот URL-адрес указывает страницу ASPX , на которой я получаю изображение из базы данных. FormLoad и вернуть это изображение. Проблема в том, что метод страницы FormLoad не вызывается. Я должен сказать, я получаю изображение из базы данных с помощью сервера ссылок.
Этот код является моим назначением URL:
imgManager.ImageUrl = "~/Portals/AbsencePresent/Form/SignForm.aspx?ManagerId=" +
managerObject.Id.ToString();
Я не получаю ошибки в этой строке кода и приложение работает нормально. Я пытаюсь скопировать этот URL-адрес в браузере вручную, но ничего не произошло.
не могли бы вы мне помочь?
ОБНОВЛЕНИЕ 1
Вот SignForm. aspx:
public partial class SignForm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["ManagerId"] != null)
{
DataTable dt = AbsencePresent.BusinessObjects.Helper.GetSign(Request.QueryString["ManagerId"]);
if (dt != null && dt.Rows.Count > 0)
{
string signFileName = dt.Rows[0]["Name"].ToString();
//string extension = System.IO.Path.GetExtension(signFileName).ToLower();
Byte[] bytes = (Byte[])dt.Rows[0]["SrcFile"];
string imageFormat = AbsencePresent.BusinessObjects.Helper.GetContentType(bytes).ToString().ToLower();
string contentType = string.Empty;
if (imageFormat == "bmp")
contentType = "image/bmp";
else if (imageFormat == "jpeg")
contentType = "image/jpeg";
else if (imageFormat == "jpg")
contentType = "image/jpeg";
else if (imageFormat == "gif")
contentType = "image/gif";
else if (imageFormat == "png")
contentType = "image/png";
else if (imageFormat == "tiff")
contentType = "image/tiff";
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = contentType;
Response.AddHeader("content-disposition", "attachment;filename=" + signFileName);
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
}
}
}