Если я правильно понимаю, это многогранная проблема:
а. Вы хотите загружать изображения из интернет-URL, а не из локальной папки. Это означает, что у вас должен быть какой-то способ перечисления файлов, доступных по удаленному URL. Если вы посмотрите на проблему объективно, вы поймете, что единственное отличие между извлечением изображений из удаленного местоположения и из вашей локальной системы состоит в том, что файлы легко перечисляются с использованием класса DirectoryInfo. Метод GetFiles
здесь возвращает массив FileInfo
, и вы можете получить фактическое имя файла для каждого из них, используя свойство FileName. В общем, вам нужен список строк, которые сопоставляются с местоположением файла.
б. Перечисление файлов только из удаленного расположения зависит от многих факторов, таких как протокол, который вы используете для получения этого списка. Если вы используете HTTP, и мы можем предположить, что у вас есть некоторый контроль над сервером в этом месте, то URL должен в первую очередь поддерживать просмотр каталогов. Затем вам нужно будет проанализировать этот обслуживаемый список каталогов (который является нестандартным и специфичным для сервера) и загрузить все доступные URL-адреса изображений в виде строк. Затем вы можете заполнить свой репитер этим списком. См. это обсуждение для возможного решения.
Если сервер поддерживает FTP, то ваша работа упрощается, поскольку вы можете перечислять изображения с помощью методов WebRequestMethods.Ftp.ListDirectory или WebRequestMethods.Ftp.ListDirectory.
с. Если вы хотите создать миниатюры для изображений, вам нужно будет написать код для загрузки каждого изображения, сохранить его во временном местоположении и затем выполнить манипуляции с размером.
д. Однако, если список изображений, доступных в Интернете, является статическим, и у вас уже есть эта информация, вы можете просто загрузить этот список в виде списка строк и установить свойство src каждого элемента управления Image в этот список. Однако миниатюры будут оставаться проблемой, если только вы не можете загрузить создатель миниатюр (обработчик HTTP) по этому URL-адресу, чтобы файлы извлекались локально для манипуляции и миниатюры предоставлялись вам автоматически.