跳到主要内容

上传

文件上传接口,用于上传文件。

危险

文件相关的接口必须遵循安全规范, 参考:

Security - 安全规范


文件上传

与普通的 json 形式的接口略有不同,文件上传接口使用 multipart/form-data 形式的 form 表单提交。

http request

POST /file-service/api/upload HTTP/1.1
Host: test-fire-api.ice.run
accept: */*
Content-Type: multipart/form-data; boundary=WebAppBoundary
X-Client: 100000000000000000
X-Security: RSA
X-Sign: NBUfOveRqBqVDtO0f87XMd4pA+6RbavCXM9iqJtgxGMglnQkQ4X49tuiyX05j+iUgcvUOOo6/3GTDDo3A/dR45okDtdTSe5M2piLleNZBDKWdc33Ts9oPdfaq7iH9LrLr1xNDt67Y80oV/bMSzWSpMu37jChg/gbl2221pXbtBE=
X-Hash: KPioxyL0VowZWHrh8+5K7AtSUNd4J1VBHy4afyW/1lOrj9BQ26/4FgW0RhdHq3w9xdmcwUnMxwIAaw4DW4qiBvLF1PJZEzZ/CtVFjMgVWjT7MZbjaBk1W5hr+eP7ItLEblxp7wV/odZw56Y91dfa5zibhcHTTOjizj5tQol9cVE=
X-Time: Mon, 20 May 2024 09:50:41 GMT
X-Trace: 6266c110c07a4e79a17b98321ae9e801

--WebAppBoundary
Content-Disposition: form-data; name="hash"

5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9
--WebAppBoundary
Content-Disposition: form-data; name="file"; filename="0.txt"

0
--WebAppBoundary--

请求参数:

参数名称参数说明请求类型数据类型是否必须示例参数
X-Security安全模式,固定值 RSAheaderstring(16)trueRSA
X-Client服务商编号headerstring(18)true222222222222222222
X-SignX-Hash 的签名headerstring(64)true4ea5c508...
X-Time请求时间 RFC-1123headerstring(32)trueMon, 18 Jul 2022 07:15:24 GMT
X-Trace链路追踪号,参考 Security - 安全headerstring(64)true207d889f9f6b4b18bfada6894a12267d
X-HashFile Hash 的密文headerstring(128)truef7522196...
hashFile Hash (sha-256)querystring(64)true244e756b...
fileFile 文件queryfile(1M)true
提示
  • hash = filesha-256
  • X-Hash = hash 的 加密
  • X-Sign = X-Hash 的 签名
  • X-* 都放到 header
  • hashfile 放到 multipart/form-data 形式的 form 表单中

响应参数:

参数名称参数说明类型
ididstring
code文件 codestring
name文件名string
origin源文件名string
type文件类型string
size文件大小integer(int64)
path路径string
url预览地址string

响应示例:

{
"data": {
"id": "1",
"code": "1",
"name": "1",
"origin": "logo.png",
"type": "image/png",
"size": 1,
"path": "2020/02/20",
"url": "https://test-fire.ice.run/file-service/api/view?id=1&code=1"
}
}
危险

服务器限制文件大小为 1M ,如果大于此阈值,请尝试先压缩后上传。


代码示例

在文档的后续章节中,会提供一些主流的编程语言的代码示例,以便开发人员更好地理解和实现文件上传的加密解密加签验签。

如果需要更多其它语言的代码示例,可以联系我司技术支持。

参考下一章节:Code-upload