<адрес веб-сервиса>/PutBin?mon=<моникер><параметры операции>
Операция PutBin предназначена для загрузки бинарных данных на сервер с помощью POST-запроса.
В зависимости от того объекта, для которого выполняется операция, в качестве моникера указывается моникер соединения с репозиторием или моникер какого-либо открытого экземпляра объекта. Необходимые моникеры возвращают различные операции Open*.
В качестве параметров операции могут указываться следующие значения:
| Параметры | Описание |
| <моникер соединения с репозиторием>!Bin!$New | Загрузка на сервер нового бинарного объекта, который передается в теле запроса. В дальнейшем получить загруженный бинарный объект с сервера можно с помощью операции GetBinary. |
| <моникер экспресс-отчета>!Load!Express | Загрузка в экспресс-отчет настроек и данных, сохраненных в файле в формате PPEXPRESS (*.ppexpress). Содержимое файла передается в теле запроса. |
| <моникер экспресс-отчета>!Load!Cube | Загрузка в экспресс-отчет данных, сохраненных в файле в формате PPCUBE (*.ppcube). Содержимое файла передается в теле запроса. |
| <моникер соединения с репозиторием>!$Sys! + <идентификатор__документа_репозитория> | Загрузка в документ репозитория с указанным идентификатором содержимого файла, передаваемого в теле запроса. |
| <моникер аналитической панели>!BinItem!New | Загрузка в аналитическую панель нового изображения. Изображение передается в теле запроса. Для загруженного изображения будут сгенерированы идентификатор и ключ. |
| <моникер аналитической панели>!BinItem! + <id/key> | Загрузка в аналитическую панель изображения и присвоение ему указанного идентификатора или ключа. Если элемент с указанными идентификатором/ключом уже существует, то он будет заменен. Изображение передается в теле запроса. |
Ниже приведен пример кода html-страницы, которая используется для отправки данных на сервер с помощью операции PutBin. В качестве значения отправляется форма, реализованная на html-странице. Отправка осуществляется при щелчке по гиперссылке.
Для уменьшения примера из кода исключен скрипт функции PostRequest, которая используется для выполнения операций в JSON формате. Код данной функции можно посмотреть в статье «Подключение к репозиторию».
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Использование операции PutBin</title> </head> <body> <script type="text/javascript"> var svc = "http://localhost:9090/axis2/services/PP.SOM.Som"; function getFormElement(id) { res = document.getElementById(id); return res; } function sendForm(form, url) { sta = getFormElement('status'); sta.innerHTML = ''; xhr = new XMLHttpRequest(), xhr.open('POST', url, false); data = new FormData(form); xhr.send(data); if (xhr.status == 200) { sta.innerHTML = "Ответ:<p>" + xhr.responseText + "<p>"; } else { sta.innerHTML = "Ошибка выполнения запроса:<p>" + xhr.responseText + "<p>"; } } // Подключение к репозиторию и отправка запроса на выполнение операции PutBin function PutBin(form) { OpenMetabase = { "OpenMetabase": { "tDef": { "id": "PPREPOSITORY" }, "tCreds": { "user": { "id": "pprepository" }, "pass": "pprepository" } } } //Подключение к репозиторию OpenMetabaseResult = PostRequest(svc, OpenMetabase); //Отправка данных на сервер return sendForm(form, svc + "/PutBin?mon=" + OpenMetabaseResult.OpenMetabaseResult.id + "!Bin!$New"); } /* Скрипт для PostRequest */ </script> <!--Форма, данные которой будут отправляться на сервер--> <form id="fileForm" action="" method="" enctype="multipart/form-data" onsubmit="PutBin(this)"> <div> <input type="text" name="name" id="name" /> <input type="file" name="file" id="file" /> </div> </form> <!--Гиперссылка для отправки данных--> <div> <a href="javascript:PutBin(getFormElement('fileForm'))">PutBin</a> </div> <!--Поле для формирования статуса выполнения операции--> <div id="status"></div> </body> </html>
См. также: