FORM API

可通过客户端浏览器的表单(form),跳过中间服务器,直接将文件上传到FSS云存储,上传效率更高效。特别地,文中请求参数放在 HTTP/HTTPS body 中传递,请确保您上传表单格式符合 RFC 1867 协议规范。

请求方法

域名

bucket、path

<> 是参数内容,是需要用户填写的,填写时,把 <> 去掉。

bucket,是创建的桶名;

Authorization

上传文件

文件大小超过 100M 后,建议使用大文件上传;移动端或者弱网环境上传,推荐使用 REST API 上传文件。

上传参数

参数(不区分大小写)必选类型说明
save-keystring文件保存路径,可用占位符,见 路径设置
expirationstring请求的过期时间,UNIX UTC 时间戳,单位秒。不能超过 30 分钟
datestring请求的日期时间,等效于签名认证中的 Date 如 Wed, 22 Apr 2020 02:26:58 GMT 或者 2020-04-22 10:26:58
return-urlstring同步通知 URL,见 通知规则
notify-urlstring异步通知 URL,见 通知规则
Content-MD5string上传文件的 MD5 值,如果请求中文件太大计算 MD5 不方便,可以为空
Content-Typestring文件类型,默认使用文件扩展名作为文件类型
Content-Secretstring文件密钥,用于保护文件,防止文件被直接访问,见Content-Secret 参数说明
allow-file-typestring允许上传的文件扩展名,以 , 分隔。如 jpg,jpeg,png
content-length-rangestring文件大小限制,格式:min,max,单位:字节。如 102400,1024000,表示允许上传 100Kb~1Mb 的文件
x-gmkerl-thumbstring图片预处理参数,见图片处理
x-west-meta-ttlstring文件元信息, 指定文件的生存时间,单位天,最大支持180天
x-west-overwritestring上传文件时覆盖已存在文件,默认为false
b64encodedstring对通过 Base64 编码上传的文件进行 Base64 解码,值为 on
ext-paramstring额外参数,见 ext-param

响应信息

通知规则

return-url 参数说明

参数说明
code状态码,200 表示上传成功
messageURL encoding 的描述信息,ok 表示上传成功,其他的表示错误信息
urlURL encoding 的文件保存路径
timeUNIX UTC 时间戳,单位秒
sign签名,详见回调签名
ext-param额外参数,form表单上传的ext-param参数

notify-url 参数说明

路径设置

save-key 支持的设置类型:

类型格式说明
绝对值String指定具体的路径,如: /path/to/file.txt
时间类{year} {mon} {day} {hour} {min} {sec}日期、时间相关内容(UTC 时间)
md5类{filemd5}文件的 md5 值
随机类{random} {random32}16 位或 32 位随机字符和数字
文件名{filename} {suffix} {.suffix}上传文件的文件名及扩展名

举例说明

ext-param

当使用 return-url 或 notify-url 参数发送返回信息或回调信息时,结果信息(详见通知规则)仅包含FSS云储存指定的内容,无法回传用户自定义的内容。如果需要回传自定义的内容,可以指定 ext-param 参数。

回调签名

sign 算法

sign 是根据 code、url、time 拼接后进行 MD5 处理得到。拼接时需注意 URL 的编码与解码问题

例如,code:200

url:'westtest/2023/5/27/upload_6Wf5fyz9uEkveHoSEzf3A7265U1IV6yp.jpg'

time:1434539183

拼接后的字符串是 200westtest%2F2023%2F5%2F26%2Fupload_00vI6jK3i4i661g8bUwr3DYXrs1qJ7CB.jpg1434539183 sign 是 'c631a75699eb510ad116543cfee07a19'

FORM示例

请在使用前,将Action的URL改为自己的桶URL,且将Authorization设置为正确的权限认证代码,建议将type为text的表单类型改为hidden