Russian (Русский) - Change language

Работа с файлами с помощью POST-запросов

Работа с файлами, находящимися в файловом хранилище на сервере, может осуществляться с помощью POST-запросов.

Для использования интерфейса программирования приложений (API) в первую очередь необходимо произвести подключение к веб-сервису.

Типы действий

С помощью POST-запросов возможно выполнение следующих действий:

  • Загрузка файла с сервера (Action = Load)
  • Загрузка файла на сервер (Action = Save)
  • Запись в конец файла (Action = Append)
  • Получение от сервера контрольной суммы файла (вычисляется по методу CRC32) (Action = Checksum)

Возможное использование

  1. Импорт изображений. Загрузка файлов изображений, в том числе по частям, и получение контрольной суммы.
  2. Получение исходных изображений страниц в любой момент обработки.
  3. Работа с приложениями к пакетам, документам, страницам (загрузить / скачать).
    Замечание. Для работы с приложениями большого размера нужно использовать POST-запросы, разделяя большие файлы на файлы меньшего размера.
    Если POST-запрос используется для добавления приложения к объекту, то после вызова POST-запроса необходимо вызвать метод SaveAttachment, при этом в качестве параметра file передается файл нулевой длины с именем передаваемого файла.
    В остальных случаях для работы с приложениями рекомендуется использовать специально разработанные методы.
  4. Получение XML-описания задачи верификации, изменение данного документа и сохранение измененного на сервере.

Параметры запроса

Замечание. Необходимо следить за правильностью заполнения полей в запросе.

Имя Тип Значение
Action string

Тип действия. Допустимые значения:

  • Load – загрузить файл с сервера;
  • Save – сохранить файл на сервере;
  • Append – дописать данные в файл, уже существующий на сервере;
  • Checksum – запросить на сервере контрольную сумму файла, вычисленную по методу CRC32.
sessionId int Идентификатор сессии (используется для проверки прав пользователя)
projectId int Идентификатор проекта
batchId int Идентификатор пакета
objectType int

Тип объекта на сервере. Возможные значения:

  • 0 – документ;
  • 1 – страница;
  • 5 – уменьшенная копия страницы для отображения в виде эскиза (файл в формате PNG);
  • 8 – приложение к заданию (XML-документ).
    Замечание. Рекомендуется использовать при работе с приложениями больших размеров. В остальных случаях для работы с приложениями рекомендуется использовать специально разработанные методы.
  • 13 – файл, доступный для всех пользователей (например, Лицензионный договор с конечным пользователем (EULA)).
    Замечание.  Для данного типа файлов ProjectId=0 и BatchId=0, т.е. они не имеют принадлежности к определенному проекту, пакету или тенанту. Записать такой файл может администратор, открыв сессию. Для чтения файла сессию открывать не обязательно, для этого передайте значение sessionid=0.
objectId int Идентификатор объекта (документа, страницы или задания)
parentId int

Идентификатор родительского документа

Замечание. Указывается для комплектов документов. Для документов, не входящих в комплекты, рекомендуется присваивать параметру значение 0.

version int Версия файла объекта
streamName string

Имя бинарного потока, закодированное в Base64 при сохранении файла на сервер или в UrlEncode при загрузке файла с сервера. Возможные значения

- для страниц:

  • BlackWhiteImage – черно-белое изображение страницы. Файл в формате PNG;
  • ColorImage – цветное изображение страницы. Файл в формате JPG;
  • Preview – предварительное изображение страницы. Файл в формате PNG.

- для документов:

  • DocumentBodyXML-документ, описывающий поля документа (только для документов, прошедших подготовку к верификации). Создается при подготовке задания для веб-станций. На этапе обработки после верификации обрабатываются изменения в данном документе. Версионность не поддерживается, параметр version должен быть равен 0. В этот файл необходимо сохранить результаты обработки документа;
  • Page pageID, где pageID – идентификатор страницы, который вернул метод AddNewPage. Данное имя потока используется для загрузки изображений страниц перед предварительной обработкой.
  • FileName, где FileName - имя файла, указанное при создании документа методом AddNewDocument. Данное имя потока используется для загрузки многостраничного файла с изображениями страниц документа.
  • RecognizedWords - XML-документ, содержащий распознанные слова и их координаты на странице.

- для заданий:

  • VerificationXML-документ, описывающий задание верификации. Создается при подготовке задания для веб-станций. На этапе обработки после верификации данных обрабатываются изменения в данном документе. Версионность не поддерживается, параметр version должен быть равен 0. В этот файл необходимо сохранить результаты обработки задания;
  • VerificationRequest соответствует запросам нескольких типов:
    • XML-документ с запросом на операции внутри пакета, включающие разделение документов и перемещение страниц. Данный тип, в частности, используется веб-станцией для проверки правил;
    • XML-документ с запросом на маршрутизацию;
    • XML-документ с запросом на экстраполяцию LineItems;
    • XML-документ с запросом на верификацию данных.
blob Двоичные данные файла (если параметр Action имеет значение Save)
offset int Смещение от начала файла, начиная с которого необходимо дописать данные (если параметр Action имеет значение Append)

Файловое хранилище содержит все файлы проекта. Имя файла содержит информацию о типе объекта, его идентификаторе, имени потока в формате: <тип объекта>-<id объекта>-<имя потока>версия.

Файлы страниц (objectType = 1) содержат копии изображений, а файлы документов (objectType = 0) – исходные изображения. Таким образом, попытка изменения изображений с помощью POST-запроса с параметром objectType = 1 ни к чему не приведет.

Примеры запросов

Загрузка файла с сервера

Сохранение файла на сервере

Подробнее с примерами использования POST-запросов можно ознакомиться в разделе Примеры.

12/1/2020 7:04:04 AM


Please leave your feedback about this article