文件上传
请求URL
https://chat-go.jwzhd.com/open-apis/v1/file/upload?token=016ec8e4d17a4fbda3ccb0e99b44aca0
请求类型
POST
请求头
bash
Content-Type: "multipart/form-data"请求参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| file | file | 是 | 文件内容,仅限单个文件,上传文件大小不超过 20MB |
响应内容
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 响应代码 |
| msg | string | 响应信息,包括异常信息 |
| data | Object | 返回数据 |
完整示例
bash
curl --location 'https://chat-go.jwzhd.com/open-apis/v1/file/upload?token=016ec8e4d17a4fbda3ccb0e99b44aca0' \
--header 'Content-Type: multipart/form-data' \
--form 'file=@"D:/file/aaa/bbb.txt"'文件上传响应示例
json
{
"code": 1,
"data": {
"fileKey": "016ec8e4d17a4fbda3ccb0e99b44aca0xx"
},
"msg": "success"
}如何获取访问地址
上传成功后返回的 fileKey 不是最终访问地址,不能直接拿来拼接文件 URL。fileKey 只是上传成功后的返回值,真正的访问地址需要根据文件内容重新计算哈希。
文件访问地址的生成规则如下:
https://chat-file.jwznb.com/{fileHash}.{ext}
其中 fileHash 是对文件内容计算得到的哈希值,ext 是文件的真实扩展名,不是接口返回的 fileKey。
例如,上文我们上传的是 D:/file/aaa/bbb.txt,那么在代码里会先读取这个文件内容,再对文件内容做哈希计算,得到对应的 fileHash,然后拼接成:
https://chat-file.jwznb.com/{fileHash}.txt
具体代码参考: