Файловые операции на сервере — различия между версиями
(Новая страница: «Наверх ==Методы для работы с файло...») |
|||
(не показана одна промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | + | {|cellpadding="10" cellspacing="0" border="0" |
+ | | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
+ | | [[Обмен пользовательскими сообщениями|Обмен пользовательскими сообщениями<<<]] | ||
+ | | [[Файловые операции на сервере]] | ||
+ | | [[Запуск служебных сценариев|>>>Запуск служебных сценариев]] | ||
+ | |- | ||
+ | |} | ||
==Методы для работы с файловой системой на сервере== | ==Методы для работы с файловой системой на сервере== | ||
Строка 7: | Строка 13: | ||
Структура параметра-запроса: | Структура параметра-запроса: | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data name="fileoperation" count="..."> | <data name="fileoperation" count="..."> | ||
Строка 20: | Строка 26: | ||
</property_set> | </property_set> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Каждая вложенный блок property_set указывает на отдельную операцию. В простейшем случае соответственно этот блок присутствует в единственном экземпляре и весь параметр принимает вид: | Каждая вложенный блок property_set указывает на отдельную операцию. В простейшем случае соответственно этот блок присутствует в единственном экземпляре и весь параметр принимает вид: | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data name="fileoperation" count="1"> | <data name="fileoperation" count="1"> | ||
Строка 32: | Строка 38: | ||
</property_set> | </property_set> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 41: | Строка 47: | ||
Структура ответа: | Структура ответа: | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellxmlmapper version="80710"> | <oktellxmlmapper version="80710"> | ||
<data name="queryresult" count="..."> | <data name="queryresult" count="..."> | ||
Строка 58: | Строка 64: | ||
</property_set> | </property_set> | ||
</data> | </data> | ||
− | </oktellxmlmapper> | + | </oktellxmlmapper></nowiki> |
Строка 72: | Строка 78: | ||
Структура запроса: | Структура запроса: | ||
− | <property_set name="uploadfiletoserver" id="..."> | + | <nowiki><property_set name="uploadfiletoserver" id="..."> |
<property_cdata key="localpath"><![CDATA[...]]></property_cdata> | <property_cdata key="localpath"><![CDATA[...]]></property_cdata> | ||
<property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | ||
<property_simple key="isrelative" value="0" /> | <property_simple key="isrelative" value="0" /> | ||
<property_simple key="isfolder" value="0" /> | <property_simple key="isfolder" value="0" /> | ||
− | </property_set> | + | </property_set></nowiki> |
Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">serverfilepath</span> - возвращает полный путь к загруженному файлу на сервере (может быть необходим plugin-программе в случае, если используется загрузка по относительному пути). | Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">serverfilepath</span> - возвращает полный путь к загруженному файлу на сервере (может быть необходим plugin-программе в случае, если используется загрузка по относительному пути). | ||
Строка 88: | Строка 94: | ||
Структура запроса: | Структура запроса: | ||
− | <property_set name="downloadfilefromserver" id="..."> | + | <nowiki><property_set name="downloadfilefromserver" id="..."> |
<property_cdata key="localpath"><![CDATA[...]]></property_cdata> | <property_cdata key="localpath"><![CDATA[...]]></property_cdata> | ||
<property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | ||
<property_simple key="isrelative" value="0" /> | <property_simple key="isrelative" value="0" /> | ||
− | </property_set> | + | </property_set></nowiki> |
Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">downloadresult</span> - «1» в случае успешного закачивания файла, «0» в случае не обнаружения файла в указанном месте сервера. | Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">downloadresult</span> - «1» в случае успешного закачивания файла, «0» в случае не обнаружения файла в указанном месте сервера. | ||
Строка 103: | Строка 109: | ||
Структура запроса: | Структура запроса: | ||
− | <property_set name="deletefilefromserver" id="..."> | + | <nowiki><property_set name="deletefilefromserver" id="..."> |
<property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | ||
<property_simple key="isrelative" value="0" /> | <property_simple key="isrelative" value="0" /> | ||
− | </property_set> | + | </property_set></nowiki> |
Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">deleteresult</span> - «1» в случае успешного удаления файла, «0» в случае не обнаружения файла в указанном месте сервера или запрета на удаление. | Ответ содержит стандартные поля <span style="color:blue">resultcode</span> и <span style="color:blue">resultdescription</span>, а также поле <span style="color:blue">deleteresult</span> - «1» в случае успешного удаления файла, «0» в случае не обнаружения файла в указанном месте сервера или запрета на удаление. | ||
Строка 117: | Строка 123: | ||
Структура запроса: | Структура запроса: | ||
− | <property_set name="showdirectoryonserver" id="..."> | + | <nowiki><property_set name="showdirectoryonserver" id="..."> |
<property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> | ||
<property_simple key="isrelative" value="0" /> | <property_simple key="isrelative" value="0" /> | ||
Строка 123: | Строка 129: | ||
<property_simple key="showdirs" value="0" /> | <property_simple key="showdirs" value="0" /> | ||
<property_cdata key="pattern"><![CDATA[...]]></property_cdata> | <property_cdata key="pattern"><![CDATA[...]]></property_cdata> | ||
− | </property_set> | + | </property_set></nowiki> |
Строка 130: | Строка 136: | ||
Структура ответа: | Структура ответа: | ||
− | <property_set name="showdirectoryonserver" id="..."> | + | <nowiki><property_set name="showdirectoryonserver" id="..."> |
<property_simple key="resultcode" value="100" name="Success" /> | <property_simple key="resultcode" value="100" name="Success" /> | ||
<property_simple key="resultdescription" value="Success" /> | <property_simple key="resultdescription" value="Success" /> | ||
Строка 146: | Строка 152: | ||
................ | ................ | ||
</property_collection> | </property_collection> | ||
− | </property_set> | + | </property_set></nowiki> |
+ | |||
+ | |||
+ | {|cellpadding="10" cellspacing="0" border="0" | ||
+ | | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
+ | | [[Обмен пользовательскими сообщениями|Обмен пользовательскими сообщениями<<<]] | ||
+ | | [[Файловые операции на сервере]] | ||
+ | | [[Запуск служебных сценариев|>>>Запуск служебных сценариев]] | ||
+ | |- | ||
+ | |} |
Текущая версия на 07:50, 26 марта 2015
Наверх | Обмен пользовательскими сообщениями<<< | Файловые операции на сервере | >>>Запуск служебных сценариев |
Методы для работы с файловой системой на сервере
- string FileOperation ( string xml ). Выполняет перечисленные в параметре операции и возвращает в аналогичной структуре результаты выполнения. В простейшем случае параметр указывает единственную операцию. В общем виде последовательно выполняться может неограниченное число перечисленных операций.
Структура параметра-запроса:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="fileoperation" count="..."> <property_set name="..." id="..."> ... </property_set> ........................................... ........................................... ........................................... <property_set name="..." id="..."> ... </property_set> </data> </oktellcommapper>
Каждая вложенный блок property_set указывает на отдельную операцию. В простейшем случае соответственно этот блок присутствует в единственном экземпляре и весь параметр принимает вид:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="fileoperation" count="1"> <property_set name="..." id="..."> ... </property_set> </data> </oktellcommapper>
Код идентификатора операции может не указываться. Он используется лишь для сопоставления операции в запросе и ответе во внешнем ПО.
Возвращаемое значение имеет вид, аналогичный параметру запроса. Каждая операция имеет свое представление в виде блока property_set, расположенного в том же месте, где и в запросе.
Структура ответа:
<?xml version="1.0" encoding="utf-16"?> <oktellxmlmapper version="80710"> <data name="queryresult" count="..."> <property_set name="..." id="..."> <property_simple key="resultcode" value="..." name="..." /> <property_cdata key="resultdescription"><![CDATA[...]]></property_cdata> ... </property_set> ........................................... ........................................... ........................................... <property_set name="..." id="..."> <property_simple key="resultcode" value="..." name="..." /> <property_cdata key="resultdescription"><![CDATA[...]]></property_cdata> ... </property_set> </data> </oktellxmlmapper>
Существует несколько возможных операций. Каждая из них будет описана отдельно в этом разделе. В примерах запросов и ответов будет указана лишь составляющая часть XML-структуры, представляющая одну операцию.
Поддерживаемые файловые операции
- uploadfiletoserver. Осуществляет запрос к серверу на закачку одного файла с клиента на сервер. Размещение осуществляется в указанном месте на сервере. Файл должен существовать в указанном месте клиентского компьютера.
Свойство localpath определяет абсолютный путь к файлу на клиентском компьютере. Свойство serverpath определяет путь на сервере, куда требуется загрузить файл. Может быть задан абсолютный путь или относительный (от каталога серверной службы) - в этом случае поле isrelative должно быть указано и иметь значение "1". Может быть указан полный путь к файлу (тогда исходное имя файла при сохранении теряется в пользу указанного), либо может быть указан путь к каталогу (тогда файл сохранится с исходным именем) - в этом случае поле isfolder должно быть указано и иметь значение "1".
Структура запроса:
<property_set name="uploadfiletoserver" id="..."> <property_cdata key="localpath"><![CDATA[...]]></property_cdata> <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> <property_simple key="isrelative" value="0" /> <property_simple key="isfolder" value="0" /> </property_set>
Ответ содержит стандартные поля resultcode и resultdescription, а также поле serverfilepath - возвращает полный путь к загруженному файлу на сервере (может быть необходим plugin-программе в случае, если используется загрузка по относительному пути).
- downloadfilefromserver. Осуществляет запрос к серверу на скачивание одного файла с сервера на клиентский компьютер. Размещение осуществляется в указанном месте на локальной машине. Файл должен существовать в указанном месте серверного компьютера.
Свойство localpath определяет абсолютный путь к файлу на клиентском компьютере, куда следует разместить файл после загрузки с сервера. Свойство serverpath определяет путь на сервере, откуда требуется скачать файл. Может быть задан абсолютный путь или относительный (от каталога серверной службы) - в этом случае поле isrelative должно быть указано и иметь значение "1".
Структура запроса:
<property_set name="downloadfilefromserver" id="..."> <property_cdata key="localpath"><![CDATA[...]]></property_cdata> <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> <property_simple key="isrelative" value="0" /> </property_set>
Ответ содержит стандартные поля resultcode и resultdescription, а также поле downloadresult - «1» в случае успешного закачивания файла, «0» в случае не обнаружения файла в указанном месте сервера.
- deletefilefromserver. Осуществляет запрос к серверу на удаление одного файла с сервера. Файл должен существовать в указанном месте серверного компьютера.
Свойство serverpath определяет путь на сервере, откуда требуется скачать файл. Может быть задан абсолютный путь или относительный (от каталога серверной службы) - в этом случае поле isrelative должно быть указано и иметь значение "1".
Структура запроса:
<property_set name="deletefilefromserver" id="..."> <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> <property_simple key="isrelative" value="0" /> </property_set>
Ответ содержит стандартные поля resultcode и resultdescription, а также поле deleteresult - «1» в случае успешного удаления файла, «0» в случае не обнаружения файла в указанном месте сервера или запрета на удаление.
- showdirectoryonserver. Осуществляет запрос к серверу на получение структуры указанного каталога.
Свойство serverpath определяет путь на сервере к исследуемому каталогу, структуру которого требуется получить. Может быть задан абсолютный путь или относительный (от каталога серверной службы) - в этом случае поле isrelative должно быть указано и иметь значение "1". Установленные поля showfiles и showdirs определяют соответственно перечисление файлов и подкаталогов. Поле pattern определяет маску выборки элементов (например *.txt).
Структура запроса:
<property_set name="showdirectoryonserver" id="..."> <property_cdata key="serverpath"><![CDATA[...]]></property_cdata> <property_simple key="isrelative" value="0" /> <property_simple key="showfiles" value="1" /> <property_simple key="showdirs" value="0" /> <property_cdata key="pattern"><![CDATA[...]]></property_cdata> </property_set>
Ответ содержит стандартные поля resultcode и resultdescription, а также поле showdirectoryresult - «0» в случае отсутствия каталога по указанному пути, и «1» в случае успешного выполнения операции. Раздел consistence содержит перечисление обнаруженных элементов.
Структура ответа:
<property_set name="showdirectoryonserver" id="..."> <property_simple key="resultcode" value="100" name="Success" /> <property_simple key="resultdescription" value="Success" /> <property_simple key="showdirectoryresult" value="1" name="success" /> <property_collection name="consistence" count="2"> <property_set name="directories"> <property_cdata key="dir" value="0"><![CDATA[Subdir1]]></property_cdata> <property_cdata key="dir" value="1"><![CDATA[Subdir2]]></property_cdata> <property_cdata key="dir" value="2"><![CDATA[Subdir3]]></property_cdata> <property_cdata key="dir" value="3"><![CDATA[Subdir4]]></property_cdata> </property_set> <property_set name="files"> <property_cdata key="file" value="0"><![CDATA[1.txt]]></property_cdata> </property_set> ................ </property_collection> </property_set>
Наверх | Обмен пользовательскими сообщениями<<< | Файловые операции на сервере | >>>Запуск служебных сценариев |