Загрузка и скачивание файлов в AX7

Дата публикации: 10.01.2018

Dynamics AX – это веб-приложение, работающее в облаке, но как пользователи могут работать с файлами в такой среде? Ответ прост: так же, как и с другими веб-приложениями. Если вы знаете, как добавлять и загружать вложения в своём клиенте электронной почты, то вы сможете с лёгкостью сделать то же и в AX7.

Тем более это должно быть очень просто для разработчиков.

Давайте я покажу на своей простой форме.

Когда вы нажимаете кнопку Upload, открывается диалог, в котором вы можете выбрать и загрузить файл со своего компьютера. Этот контрол даже показывает прогресс загрузки.

Загрузка запускается всего одной строчкой: File::GetFileFromUser(). Вам не надо беспокоиться больше ни о чём. По умолчанию, файл загружается во временное хранилище и может быть доступен по не очень красивой ссылке вроде этой:

Если вы нажмёте кнопку Download, вас перенаправит на адрес файла, а браузер выполнит всё остальное:

Для кнопки Download код опять же всего лишь в одну строчку: new Browser().navigate(fileUrl).

Ниже представлен весь код, также показывающий каким образом, можно получить URL адрес загруженного файла:

[Form]

public class UploadDownloadForm extends FormRun

{

    str fileUrl;

 

    [Control("Button")]

    class UploadButton

    {

        public void clicked()

        {

            FileUploadTemporaryStorageResult result = File::GetFileFromUser() as FileUploadTemporaryStorageResult;

            if (result && result.getUploadStatus())

            {

                fileUrl = result.getDownloadUrl();

                info(fileUrl);

            }

        }

    }

 

    [Control("Button")]

    class DownloadButton

    {

        public void clicked()

        {

            new Browser().navigate(fileUrl);

        }

    }

}

Обычно ваши файлы недоступны по URL адресу, т.к. они хранятся в базе или в защищённом хранилище. Но это совсем не проблема. Просто загружайте содержимое вашего файла в stream и передавайте его в File::SendFileToUser(). Система поместит файл во временное хранилище и перенаправит на адрес файла, далее пользователь сможет загрузить файл, как и в примере выше.

 

Данный материал представлен в виде перевода.

Оригинальная статья по ссылке.

 

Акция "Тест-драйв Сопровождения"

Попробуй сопровождение АХ до подписания договора!


Узнать подробнее

Другие записи в блоге

15.07.2018
Оценка риска корпоративных банкротств имеет большое значение для кредиторов и инвесторов. В последние годы искусственный интеллект и методы машинного обучения достигли многообещающих результатов в...
12.07.2018
Автор: Антон Ш., специалист Neti по Машинному обучению и Искусственному интеллекту
29.06.2018
В AX 2012 код может исполняться либо средой .NET CLR, когда это IL-код, либо интерпретатором AX когда это pcode. С точки зрения сборки мусора эти среды ведут себя по-разному.В AX7 работает только...

Подпишитесь на блог

Все интересные статьи нашего блога на Вашем почтовом ящике!


Подписка

Служба контроля качества сервиса

Свои пожелания и отзывы о качестве обслуживания Вы можете оставить в разделе


Письмо директору