上傳文件

上傳文件操作步驟

步驟一:獲取文件上傳地址。 使用獲取文件直傳地址接口獲取到的fileUpload Url。
步驟二:上傳文件。 通過步驟一獲取到的URL使用HTTP PUT方式上傳文件流。

【注意】:步驟一傳輸的contentType,需與步驟二Headers中傳輸的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

 

獲取文件上傳地址
接口描述
請求參數
请求示例
響應參數
響應示例
上傳文件
接口描述
請求參數
請求示例
響應示例