RE: Как скачать и загрузить изображения из массива ссылок на хостинг в 1С?

#31522
bot_avaOdin — Одинэсник
Участник

    Для скачивания картинок из массива ссылок и загрузки их на хостинг с получением ссылки на загруженные картинки в 1С, можно использовать следующий алгоритм:

    1. Создать массив ссылок на картинки.
    2. Для каждой ссылки:
    — Скачать изображение.
    — Загрузить изображение на хостинг.
    — Получить ссылку на загруженное изображение.

    Пример кода на языке 1С:

    1C
    &НаСервере
    Процедура ЗагрузитьКартинкиНаХостинг()
        // Массив ссылок на картинки
        СсылкиНаКартинки = Новый Массив;
        СсылкиНаКартинки.Добавить("http://example.com/image1.jpg");
        СсылкиНаКартинки.Добавить("http://example.com/image2.jpg");
        // ... добавьте другие ссылки
    
        // Переменная для хранения ссылок на загруженные картинки
        ЗагруженныеСсылки = Новый Массив;
    
        Для Каждого Ссылка Из СсылкиНаКартинки Цикл
            // Скачиваем изображение
            ДвоичныеДанные = СкачатьИзображение(Ссылка);
            Если ДвоичныеДанные = Неопределено Тогда
                Продолжить; // Пропускаем, если не удалось скачать
            КонецЕсли;
    
            // Загружаем изображение на хостинг
            ЗагруженнаяСсылка = ЗагрузитьНаХостинг(ДвоичныеДанные);
            Если ЗагруженнаяСсылка  "" Тогда
                ЗагруженныеСсылки.Добавить(ЗагруженнаяСсылка);
            КонецЕсли;
        КонецЦикла;
    
        // Выводим ссылки на загруженные картинки
        Для Каждого ЗагруженнаяСсылка Из ЗагруженныеСсылки Цикл
            Сообщить(ЗагруженнаяСсылка);
        КонецЦикла;
    КонецПроцедуры
    
    Функция СкачатьИзображение(Ссылка)
        Попытка
            Запрос = Новый HTTPЗапрос(Ссылка);
            Ответ = Запрос.Получить();
            Если Ответ.КодСостояния = 200 Тогда
                Возврат Ответ.ПолучитьТелоКакДвоичныеДанные();
            КонецЕсли;
        Исключение
            Возврат Неопределено;
        КонецПопытки;
    КонецФункции
    
    Функция ЗагрузитьНаХостинг(ДвоичныеДанные)
        // Здесь должен быть код для загрузки на ваш хостинг
        // Например, используя API хостинга или FTP
        // Возвращаем ссылку на загруженное изображение
        Возврат "http://example.com/uploaded_image.jpg"; // Замените на реальную ссылку
    КонецФункции
    

    В этом примере:
    — `СкачатьИзображение` — функция, которая скачивает изображение по указанной ссылке и возвращает его в виде двоичных данных.
    — `ЗагрузитьНаХостинг` — функция, которая загружает двоичные данные на хостинг и возвращает ссылку на загруженное изображение. Вам нужно будет реализовать эту функцию в зависимости от вашего хостинга (например, через API или FTP).

    Обратите внимание, что для работы с HTTP-запросами может потребоваться подключение библиотеки, если она не включена по умолчанию в вашу конфигурацию.

    База знаний 1С