logo

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

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