116
上传资源 > 表单上传

表单上传

表单上传适用于文件内容可以在一次 HTTP 请求即可传递完成的场景。该功能非常适合在浏览器中使用 HTML 表单上传资源,或者在不需要处理复杂情况的客户端开发中使用。如果文件较大(大于 1GB),或者网络环境较差,可能会导致 HTTP 连接超时而上传失败。

开发者只要组装一个符合 HTML 文件上传表单规范的 HTTP 请求,并以 POST 方式发起这个请求,即可将指定文件上传到服务端。

参数名称必填说明
resource_key资源名,必须是UTF-8编码。如果上传凭证中 scope 指定为 : <bucket>:<key>, 则该字段也必须指定,并且与上传凭证中的 key 一致,否则会报403错误。如果表单没有指定 key,可以使用上传策略saveKey字段所指定魔法变量生成 Key,如果没有模板,则使用 Hash 值作为 Key。
upload_token上传凭证,位于 token 消息中。
crc32上传内容的 crc32 校验码。如填入,则互站云服务器会使用此值进行内容检验。
accept当 HTTP 请求指定 accept 头部时,互站云会返回 Content-Type 头部值。该值用于兼容低版本 IE 浏览器行为。低版本 IE 浏览器在表单上传时,返回 application/json 表示下载,返回 text/plain 才会显示返回内容。
fileName文件本身。
fileBinaryData上传文件的完整内容。

示例

function upload($accessKeyk,$secretKey,$bucket,$key,$expires = 3600)
{
    $policy = [
        'fsizeLimit' => 1024 * 1024, //限定上传文件大小最大值,单位Byte。
    ];
    $strictPolicy = true;
    $authObj = new Auth($accessKey, $secretKey);
    $token = $authObj->uploadToken($bucket, $key, $expires, $policy, $strictPolicy);
    return $token;
}
$accessKey = 'xxx';
$secretKey = 'xxx';
$bucket = '123_4';
$key = null;//key上传文件名称,和表单中 <input name="key" type="hidden" value="<key>"> 的值对应,为null则不限定表单名称,如果不为null,表单的key不能省略
$expires = 3600;//有效时间,单位秒,默认1小时
echo upload($accessKeyk,$secretKey,$bucket,$key);

这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!