Загрузка файла в контекстную переменную
Для загрузки файла с диска в контекстную переменную (в примере переменная context.Report имеет тип Вложение), можно использовать ниже приведенные сценарии.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Пространства имен:
using EleWise.ELMA.Files;
Текст сценария:
context.Report = PublicAPI.Portal.Objects.Common.Attachment.Create(); context.Report.File = InterfaceActivator.Create<BinaryFile>(); context.Report.File.Name = "test.xlsx"; context.Report.File.CreateDate = DateTime.Now; context.Report.File.InitializeContentFilePath(); System.IO.File.Copy("d:\\test.xlsx", context.Report.File.ContentFilePath); PublicAPI.Services.File.SaveFile(context.Report.File);
Внимание!
Сценарий, указанный ниже, актуален для версии системы ELMA ниже 3.8
Пространства имен:
using EleWise.ELMA.API; using EleWise.ELMA.Model.Services; using EleWise.ELMA.Files; using EleWise.ELMA.Services; using EleWise.ELMA.Runtime.Managers; using EleWise.ELMA.Model.Services;
Текст сценария:
context.Report = PublicAPI.Portal.Objects.Common.Attachment.Create(); context.Report.File = InterfaceActivator.Create<BinaryFile>(); context.Report.File.Name = "test.xlsx"; context.Report.File.CreateDate = DateTime.Now; context.Report.File.InitializeContentFilePath(); System.IO.File.Copy("d:\\test.xlsx", context.Report.File.ContentFilePath); Locator.GetServiceNotNull<IFileManager>().SaveFile(context.Report.File);//сохраняем полученный файл в контекст
Пример сценария без использования PublicAPI
Необходимо добавить пространства имен:
using EleWise.ELMA.Files; using EleWise.ELMA.Runtime.Managers; using EleWise.ELMA.Services; using EleWise.ELMA.Common.Managers; using EleWise.ELMA.Model.Services;Текст сценария:
context.Report = (Attachment)AttachmentManager.Instance.Create(); context.Report.File = InterfaceActivator.Create<BinaryFile>(); context.Report.File.Name = "test.xlsx"; context.Report.File.CreateDate = DateTime.Now; context.Report.File.InitializeContentFilePath(); System.IO.File.Copy("d:\\test.xlsx", context.Report.File.ContentFilePath); Locator.GetServiceNotNull<IFileManager>().SaveFile(context.Report.File);//сохраняем полученный файл в контекст