Как сохранить изображения в списке из папки изображений и передать их в src изображений (asp.net | vb.net) - PullRequest
0 голосов
/ 12 января 2012

У меня есть две папки с изображениями, а именно a и b, которые состоят из изображений продуктов. Все изображения сохраняются как есть. как я могу найти изображения из папки, передав туда производить и сохранять изображения в списке.

Dim AllImages As New List(Of String)

После сохранения, как я могу рендерить эти изображения одно за другим в построитель строк, как

Dim imagecontainer As New StringBuilder
 For Each image In AllImages
imagecontainer.Append("<img src="image" alt="" />") Next image

Any ideas of how to do this, your help will be highly appreciated.

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Вы можете использовать ResolveClientUrl в коде вашей страницы:

<code>
var clientImageUrl = ResolveClientUrl("yourimagefolder/sampleimage.jpg");

Или вы можете использовать VirtualPathUtility.ToAbsolute, который вернет тот же результат:

<code>
VirtualPathUtility.ToAbsolute("yourimagefolder/sampleimage.jpg")

Чтобы прочитать все файлы из папки и затем отфильтровать их по имени файла (вашему идентификатору), который вы можете использовать (используйте пространство имен System.IO):

<code>
 DirectoryInfo directory = new System.IO.DirectoryInfo("c:\YourFolder");
 var allFiles = directory.GetFiles("<em>.</em>", System.IO.SearchOption.AllDirectories);<br>
 var fileFounds = from file in allFiles 
                  where file.Name == "YourID"
                  select file;</p>

<p>foreach (var file in fileFounds)
{
    //Build your image
}</p>

<p>

РЕДАКТИРОВАТЬ : вот версия vb.net (я использовал конвертер кода, надеюсь, он работал хорошо:)


'Using ResolveClientUrl 
Dim clientImageUrl = ResolveClientUrl("yourimagefolder/sampleimage.jpg")</p>

<p>'Using VirtualPathUtility
VirtualPathUtility.ToAbsolute("yourimagefolder/sampleimage.jpg")</p>

<p>'Reading files from directory
Dim directory As DirectoryInfo = New System.IO.DirectoryInfo("c:\YourFolder")
Dim allFiles = directory.GetFiles(".", System.IO.SearchOption.AllDirectories)</p>

<p>Dim fileFounds = _
    Where file.Name = "YourID"</p>

<pre><code>    'Build your image

Для каждого файла как var В fileFounds Next

1 голос
/ 12 января 2012
  • Используйте DirectoryInfo , чтобы получить все файлы в каталоге
  • Используйте цикл foreach для создания HTML
  • Добавить PlaceHolder на свою страницу и добавьте html к ней

Или вы можете использовать Повторитель , связанный со списком строк пути изображения.Это даст вам гораздо больший контроль над вашей разметкой.

Вот пример с повторителем.

Разметка:

<asp:Repeater id="imageRepeater" runat="server">
  <ItemTemplate>
     <img src='<%# Container.DataItem %>' alt="" />
  </ItemTemplate>
</asp:Repeater>

Код позади:

imageRepeater.DataSource = imageFiles
imageRepeater.DataBind()
...