Файловые операции на сервере — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «Наверх ==Методы для работы с файло...»)
 
Строка 1: Строка 1:
[[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
+
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Обмен пользовательскими сообщениями|Обмен пользовательскими сообщениями<<<]]
 +
| [[Файловые операции на сервере]]
 +
| [[Запуск служебных сценариев|>>>Запуск служебных сценариев]]
 +
|-
 +
|}
  
 
==Методы для работы с файловой системой на сервере==
 
==Методы для работы с файловой системой на сервере==
Строка 147: Строка 153:
 
  </property_collection>
 
  </property_collection>
 
  </property_set>
 
  </property_set>
 +
 +
 +
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Обмен пользовательскими сообщениями|Обмен пользовательскими сообщениями<<<]]
 +
| [[Файловые операции на сервере]]
 +
| [[Запуск служебных сценариев|>>>Запуск служебных сценариев]]
 +
|-
 +
|}

Версия 10:48, 1 апреля 2014

Наверх Обмен пользовательскими сообщениями<<< Файловые операции на сервере >>>Запуск служебных сценариев

Методы для работы с файловой системой на сервере

  • string FileOperation ( string xml ). Выполняет перечисленные в параметре операции и возвращает в аналогичной структуре результаты выполнения. В простейшем случае параметр указывает единственную операцию. В общем виде последовательно выполняться может неограниченное число перечисленных операций.

Структура параметра-запроса:

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set name="..." id="...">
    ...
  </property_set>
...........................................
...........................................
...........................................
  <property_set name="..." id="...">
    ...
  </property_set> 

</oktellcommapper>


Каждая вложенный блок property_set указывает на отдельную операцию. В простейшем случае соответственно этот блок присутствует в единственном экземпляре и весь параметр принимает вид:

<?xml version="1.0" encoding="utf-16"?>
<oktellcommapper version="80710">

  <property_set name="..." id="...">
    ...
  </property_set>

</oktellcommapper>


Код идентификатора операции может не указываться. Он используется лишь для сопоставления операции в запросе и ответе во внешнем ПО.

Возвращаемое значение имеет вид, аналогичный параметру запроса. Каждая операция имеет свое представление в виде блока property_set, расположенного в том же месте, где и в запросе.

Структура ответа:

<?xml version="1.0" encoding="utf-16"?>
<oktellxmlmapper version="80710">

  <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> 

</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>


Наверх Обмен пользовательскими сообщениями<<< Файловые операции на сервере >>>Запуск служебных сценариев