Центр разработчиков

Загрузить файл

Инструкция по загрузке файлов

Шаг 1:Получение адреса для загрузки файла。Используйте URL-адрес fileUpload, полученный с помощью интерфейса получения адреса прямой загрузки файла.
Шаг 2:Загрузка файла。Загрузите поток файлов с помощью HTTP PUT, используя URL-адрес, полученный на шаге 1.

【Внимание】:Тип contentType, переданный на шаге 1, должен соответствовать Content-Type, переданному в заголовке на шаге 2, иначе возникнет ошибка с кодом 403.

【Внимание】:contentMD5 не является обязательным полем. Если contentMD5 и contentType были переданы на шаге 1, то Content-MD5 и Content-Type также должны быть переданы в заголовках на шаге 2 и должны быть согласованы.

Получение адреса для загрузки файла

POST /esignglobal/v1/files/getUploadUrl

Описание интерфейса

Получите адрес для загрузки файла через этот интерфейс

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

Название параметра

Тип

Обязательно

Описание

fileName

string

true

Имя файла

【Внимание】: Необходимо указать расширение файла, иначе последующая отправка конверта не пройдет проверку.

Пример: Название контракта1.pdf 

Дополнительное описание:

(1) Суффикс имени файла в этом поле должен совпадать с реальным суффиксом файла. Например, если загружаемый файл имеет тип PDF, то этот параметр должен быть "xxx.pdf", а не "xxx.docx".

(2) Имя файла не может содержать следующие 9 специальных символов: /\:*"<>|? и все смайлики emoji

(3) Поддерживается только формат файлов .pdf

contentMD5

string

false

Значение Content-MD5 файла

Дополнительное описание:

Необходимо сначала получить 128-битный двоичный массив MD5 файла, а затем закодировать этот двоичный код в Base64.

【Внимание】Если передается значение этого параметра, то Content-MD5 загруженного файла на шаге 2 также должен передавать то же значение

contentType

string

true

Тип контента

【Внимание】Content-Type загруженного файла на шаге 2 также должен передавать то же значение

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

{
  "fileName": "测试.pdf",
  "contentType": "application/pdf"
}

Параметры ответа

Название параметра

Тип

Описание

fileKey

string

Ключ файла fileKey

fileName

string

Имя файла

fileUploadUrl

string

URL-адрес для загрузки файла, действителен в течение 60 минут

【Внимание】 По истечении срока действия повторно запросите интерфейс, чтобы получить URL-адрес для загрузки

Пример ответа

{
    "code": "0",
    "data": {
    "fileKey": "xxxxxxxxx",
      "fileName": "签署.pdf",
      "fileUploadUrl": "文件上传地址"
  },
  "message": "成功"
}

 

Загрузить файл

URL-адрес fileUpload, полученный через интерфейс «Получить URL-адрес для загрузки файла».

Описание интерфейса

Используйте метод запроса PUT, чтобы загрузить поток файла (двоичный поток байтов) на сервер через полученный URL-адрес fileUpload (URL-адрес для загрузки файла).

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

1. Заголовки

Название параметра

Тип

Обязательно

Описание

Content-MD5

string

false

Соответствует значению contentMD5 в теле запроса 【Получить адрес для загрузки файла】

Content-Type

string

true

MIME-тип целевого файла

Дополнительное описание:

Можно указать application/octet-stream или application/pdf, должно соответствовать параметрам запроса интерфейса получения адреса для загрузки

2. HTTP BODY:Двоичный поток байтов загружаемого файла
3. Метод encode:

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

fileName = URLEncoder.encode(fileName, "UTF-8");
// replace special characters
fileName = fileName
  .replaceAll("\\+", "%20")
  .replaceAll("%28", "(")
  .replaceAll("%29", ")")
  .replaceAll("%27", "'")
  .replaceAll("%21", "!")
  .replaceAll("%7E", "~");

Пример ответа

http_status: 200

 

Получение адреса для загрузки файла
Описание интерфейса
Параметры запроса
Пример запроса
Параметры ответа
Пример ответа
Загрузить файл
Описание интерфейса
Параметры запроса
Пример запроса
Пример ответа