logo

Загрузка файла в контекстную переменную

Для загрузки файла с диска в контекстную переменную (в примере переменная 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);//сохраняем полученный файл в контекст