Результаты поиска для

    Show / Hide Table of Contents

    Сохранение на FTP-сервер

    В этой статье рассмотрим способ отправки отчёта на FTP сервер. Инструкции о том как работать с задачами описаны в разделе Общие сведения.

    Приступая к работе

    Вам понадобятся следующие инструменты и возможности:

    1. Знания по использованию API key в МоиОтчеты Облако.

      В этой статье будет пропущена дополнительная информация по аутентификации и авторизации.

    2. .NET SDK.

    3. Редактор C# кода или текстовый редактор, например Visual Studio Code.

    4. Шаблон отчёта.

      Его можно подготовить с помощью бесплатной программы FastReport Community Designer.

    5. Активная подписка для МоиОтчеты Облако.

    6. Доступ в интернет.

    7. Настроенный и доступный FTP сервер.

    Обратите внимание! Это руководство рассчитано, что вы уже знаете, как разработать своё приложение на языке программирования C#.

    Обратите внимание! Пункты выше описывают рекомендуемые инструменты.

    Обратите внимание! Данное руководство предполагает, что у вас есть опыт настройки и конфигурации FTP сервера для принятия файлов от внешних источников.

    Создание задачи

    Рассмотрим создание задачи отправки шаблона на FTP-сервер:

    // Инициализация объекта
     CreateFTPUploadTaskVM ftpUploadTaskVM = new CreateFTPUploadTaskVM
     {
         Name = "Задача отправки на FTP",
         InputFile = new InputFileVM
         {
             EntityId = "{идентификатор шаблона}",
             Type = FileKind.Template
         },
         FtpHost = "{адрес FTP-сервера}",
         FtpPort = 21,
         FtpUsername = "{имя пользователя FTP-сервера}",
         FtpPassword = "{пароль}",
         UseSFTP = false,
         DestinationFolder = "{/путь_к_папке/}",
         Archive = false,
         ArchiveName = "Имя архива",
         SubscriptionId = "{идентификатор рабочего пространства}"
     };
    
     // Создание задачи
     TaskBaseVM ftpUploadTask = await tasksClient.CreateTaskAsync(ftpUploadTaskVM);
    
     // Запуск задачи по идентификатору
     await tasksClient.RunTaskByIdAsync(ftpUploadTask.Id);
    

    В поля EntityId и SubscriptionId следует записывать реальные идентификаторы объектов. Иначе задача будет прервана с ошибкой.

    Выполнение задачи из тела запроса

    // Запуск задачи из тела запроса
     await tasksClient.RunTaskAsync(new RunFTPUploadTaskVM
     {
         InputFile = new RunInputFileVM
         {
             EntityId = "{идентификатор шаблона}",
             Type = FileKind.Template
         },
         FtpHost = "{адрес FTP-сервера}",
         FtpPort = 21,
         FtpUsername = "{имя пользователя FTP-сервера}",
         FtpPassword = "{пароль}",
         UseSFTP = false,
         DestinationFolder = "{/путь_к_папке/}",
         Archive = false,
         ArchiveName = "Архивированный шаблон",
         SubscriptionId = "{идентификатор рабочего пространства}"
     });
    

    Обратите внимание! В этом случае отправка на FTP будет выполнена непосредственно этим запросом и задача не будет сохранена в базе данных.

    Обновление задачи по идентификатору

     await tasksClient.UpdateTaskAsync("{идентификатор старой задачи}", new UpdateFTPUploadTaskVM()
     {
         InputFile = new RunInputFileVM
         {
             EntityId = "{обновлённый идентификатор шаблона}",
             Type = FileKind.Template
         },
         FtpHost = "{Обновлённый адрес FTP-сервера}",
         FtpPort = 21,
         FtpUsername = "{Обновлённое имя пользователя FTP-сервера}",
         FtpPassword = "{пароль}",
         UseSFTP = false,
         DestinationFolder = "/обновлённый_путь_к_папке",
         Archive = false,
         ArchiveName = "Обновлённое имя архива"
     });
    
    Вверх 2025.2.1 © 1998-2025 ООО «Быстрые отчеты»