Загрузка изображения с локального диска - PullRequest
0 голосов
/ 17 марта 2010

У меня есть папка C: \ Images, в которой есть несколько изображений. Эта папка не находится внутри моего проекта, и я хотел бы знать, есть ли способ загрузить изображение из этой папки в элемент управления изображения ASP.NET.

<asp:Image ID="img" runat="server" />

Одним из решений могло бы стать превращение папки «Изображения» в виртуальный каталог на IIS, но я хотел бы знать, можно ли это сделать без создания виртуального каталога для папки «Изображения».

Ответы [ 2 ]

4 голосов
/ 17 марта 2010

При условии правильного доступа к папке «Изображения» вы можете сделать что-то вроде этого:

Ваша главная страница:

protected void Page_Load(object sender, EventArgs e)
{
    mainImage.ImageUrl = "ImageHandler.ashx?image=MyImage.jpg";
}

ImageHandler:

public void ProcessRequest(HttpContext context)
{
    byte[] imageBytes = File.ReadAllBytes(@"C:\Images" + context.Request["image"]);
    context.Response.ContentType = "image/jpeg";
    context.Response.BinaryWrite(imageBytes);
}
1 голос
/ 17 марта 2010

В конце дня изображение должно находиться где-то, чтобы браузер пользователя мог его увидеть.

Это означает, что ваши варианты:

  • Переместить изображение в каталог на веб-сервере
  • Установить каталог изображения как виртуальный каталог
  • Копировать изображение во время выполнения в каталог на веб-сервере

Наилучшим решением является размещение изображений в вашем проекте, если они являются частью сайта, или отображение виртуального каталога, если каталог представляет собой хранилище загруженных пользователем изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...