2011-12-24 4 views
1

Я пытаюсь отобразить изображение из виртуального каталога, находящегося на моем веб-сайте. Если я буду использовать код происходит некорректно изображение отображается на на странице:Доступ к файлу изображения из виртуального каталога

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") 
Response.WriteFile(sourcefile) 
Response.ContentType = "image/jpg" 

Но если я пытаюсь отображения изображения в элементе управления Image использованияКонтактная следующий код не отображается изображение:

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg") 
Image1.ImageUrl = sourcefile 

Вот HTML/ASP код:

<div id="contentQE"> 
     <fieldset> 
      <span class="graytitle">The Flag Image 
       <asp:Image ID="Image1" runat="server" /> 
      </span> 
     </fieldset> 
    </div> 

Что я делаю неправильно?

ответ

1

Server.MapPath получит физический путь к файлу, что не поможет пользователю получить доступ к сайту из браузера.

Мы обычно делаем:

Dim sourcefile As String = Request.ApplicationPath & "/Common/Images/Flag.jpg" 
+0

Спасибо, но изображение все еще не отображается –

+0

Пара вопросов: 1) существует ли этот файл уже? 2) Когда вы смотрите на источник страницы, путь изображения выглядит правильно? –

+0

Вопрос 1 - Да, это тот же файл, что и мой первый пример. Вопрос 2 - Да. –

1

Используйте метод связывания с контролем изображения, я не проверял, но я думаю, что это работает.

Dim SourceFile As String = Server.MapPath ("~/Общие/Images/flag.jpg")

Image1.ImageUrl = ИСХ

Image1.Bind()

+0

Спасибо, но, судя по всему, метод Bind не является частью объекта Image. –

+0

Я попытался использовать Image1.DataBind(), но те же результаты Нет изображения. –

+2

Извините, что я имел в виду метод DataBind(). –

Смежные вопросы