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

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «Наверх ==Методы для работы с файло...»)
 
 
(не показана одна промежуточная версия этого же участника)
Строка 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>


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