Загрузка нового шаблона
Одна из основных возможностей FastReport Corporate Server — это хранение шаблонов, отчётов и других данных в облаке. В этой статье будет рассмотрен способ загрузить свой готовый шаблон в хранилище шаблонов FastReport.Cloud.
Приступая к работе
Вам понадобятся следующие инструменты и возможности:
Знания по использованию API key в FastReport Corporate Server.
В этой статье будет пропущена дополнительная информация по аутентификации и авторизации.
Редактор C# кода или текстовый редактор, например Visual Studio Code.
Шаблон отчёта.
Его можно подготовить с помощью бесплатной программы FastReport Community Designer.
Активная подписка для FastReport.Cloud.
Доступ в интернет.
Обратите внимание! Это руководство рассчитано, что вы уже знаете, как разработать своё приложение на языке программирования C#.
Обратите внимание! Пункты выше описывают рекомендуемые инструменты.
Инструкция
Вам необходимо получить идентификатор корневой папки подписки. Этот идентификатор никогда не будет меняться, поэтому его можно сохранить и не делать запрос каждый раз перед загрузкой нового шаблона.
Что бы запросить корневую директорию вызовите метод <xref:FastReport.Cloud.ITemplateFoldersClient.GetRootFolderAsync(System.String)>.
public async Task<string> GetTemplatesRoot(HttpClient httpClient, string subscriptionId = null) { ITemplateFoldersClient templateFoldersClient = new TemplateFoldersClient(httpClient); FileVM result = await templateFoldersClient.GetRootFolderAsync(subscriptionId); return result.Id; }
В этом примере параметр
subscriptionId
указывает идентификатор подписки, если он не задан (равен null), то будет возвращена первая подписка пользователя.Для загрузки нужного шаблона воспользуетесь методом <xref:FastReport.Cloud.ITemplatesClient.UploadFileAsync(System.String,FastReport.Cloud.TemplateCreateVM)>.
public async Task<string> UploadFrx(HttpClient httpClient, string folderId, string filePath) { ITemplatesClient templatesClient = new TemplatesClient(httpClient); byte[] bytes = File.ReadAllBytes(filePath); TemplateCreateVM model = new TemplateCreateVM() { Name = Path.GetFileName(filePath), Content = Convert.ToBase64String(bytes) }; TemplateVM result = await templatesClient.UploadFileAsync(folderId, model); return result.Id; }
В этом примере функция получает файл с диска и загружает его в директорию
folderId
, подробнее о параметрах:folderId
— идентификатор директории шаблона.model.Name
— название файла, так он будет отображаться внутри FastReport Corporate Server.В названии файла должно быть расширение
.frx
, если его нет добавьте его вручную.model.Content
— содержимое файла закодированное в base64.
Метод возвращает идентификатор загруженного шаблона.
Теперь этот шаблон можно использовать для подготовки (построения) отчёта и экспорта.