Загрузка файла в контекстную переменную
Для загрузки файла с диска в контекстную переменную (в примере переменная context.Report имеет тип Вложение), можно использовать ниже приведенные сценарии.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Пространства имен:
1 | using EleWise.ELMA.Files; |
Текст сценария:
1 2 3 4 5 6 7 | 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
Пространства имен:
1 2 3 4 5 6 | 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; |
Текст сценария:
1 2 3 4 5 6 7 | 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
Необходимо добавить пространства имен:
Текст сценария:
1 2 3 4 5 | using EleWise.ELMA.Files; using EleWise.ELMA.Runtime.Managers; using EleWise.ELMA.Services; using EleWise.ELMA.Common.Managers; using EleWise.ELMA.Model.Services; |
1 2 3 4 5 6 7 | 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); //сохраняем полученный файл в контекст |