上传文件

上传文件操作步骤

步骤一:获取文件上传地址。使用获取文件直传地址接口获取到的fileUpload Url。
步骤二:上传文件。通过步骤一获取到的URL使用HTTP PUT方式上传文件流。

【注意】:步骤一传输的contentType,需与步骤二Header中传输的Content-Type保持一致,否则会出现错误码为403的错误。

【注意】:contentMD5为非必填项。如果通过步骤一传输了contentMD5和contentType,步骤二Headers中也必须传输Content-MD5和Content-Type,并且保持一致

获取文件上传地址

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值

补充说明:

需先获取文件MD5的128位二进制数组,再对此二进制进行Base64编码。

【注意】若本参数传输值,步骤二上传文件Content-MD5也必须传输相同的值

contentType

string

true

内容类型

【注意】步骤二上传文件Content-Type也必须传输相同的值

请求示例

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

响应参数

参数名称

类型

说明

fileKey

string

文件fileKey

fileName

string

文件名称

fileUploadUrl

string

文件上传地址,60分钟内有效

【注意】 过期后请重新请求接口获取上传地址

响应示例

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

 

上传文件

通过”获取文件上传地址”接口获取到的fileUpload Url。

接口描述

通过已获取到的fileUpload Url(文件上传地址),使用PUT请求方法把文件流(二进制字节流)上传到服务端。

请求参数

1. Headers

参数名称

类型

必填

说明

Content-MD5

string

false

与【获取文件上传地址】Body体中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

 

获取文件上传地址
接口描述
请求参数
请求示例
响应参数
响应示例
上传文件
接口描述
请求参数
请求示例
响应示例