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

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

Загрузка файла на сервер осуществляется с помощью PUT- или POST-запроса.

Формирование PUT-запроса

Чтобы осуществить загрузку файла с помощью PUT-запроса, необходимо передать ссылку вида:

http://appServer/FlexiFapture12/server/MobileApp?filename=[Имя файла]&projectName=[Имя проекта]&batchType=[Тип пакета], где:

Имя Значение
projectName Имя проекта. Обязательный параметр
batchType Тип пакета. Если параметр не указан, будет задан тип пакета по умолчанию.
filename Имя загружаемого файла. Обязательный параметр

Рекомендуется явно указывать значение поля заголовка Content-type. Файл для загрузки на сервер передаётся в теле PUT-запроса.

Поддержана возможность хэширования. На сервер FlexiCapture 12 должно быть передано значение хэш-функции MD5, закодированное в формате base64. Значение передаётся в стандартном заголовке Content-MD5. Сервер рассчитывает значение хэш-функции для полученного файла и сравнивает его с переданным в заголовке. В случае несовпадения файл на сервере будет удалён.

Возможны два варианта реакции сервера:

  • HTTP 201 (Created) - файл был успешно загружен на сервер.
  • HTTP 400 (Bad request) - не указаны обязательные параметры/значение хэш-функции не совпадает с указанным значением в заголовке. Файл не загружен.

Замечание. Передача на сервер регистрационных параметров поддерживается только в сценарии с указанием структуры пакета.

Формирование Post-запроса

Рекомендуется использовать PUT-запросы. Для случаев, когда это невозможно, поддержана возможность загружать файл на сервер с помощью POST-запросов. Параметры запроса projectName и batchType могут быть переданы с помощью URL, как в PUT-запросе, или в виде текстовых полей в теле самого запроса.

В одном POST-запросе может быть передано несколько изображений. Для этого необходимо установить значение поля Content-type равным "multipart/form-data" и задать значение разделителя в параметре boundary. В рамках одного запроса имена файлов должны различаться.

Пример добавления нескольких файлов

С помощью POST-запроса может быть также передано текстовое поле.

Пример добавления текстового поля

Запрос завершается строкой

--<значение boundary>--<crlf><crlf>
  

01.12.2020 7:04:04


Please leave your feedback about this article