七牛 html 上传,表单上传_使用指南_对象存储 - 七牛开发者中心

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

开发者只要组装一个符合 HTML 文件上传表单规范(参考RFC1867)的 HTTP 请求,并以 POST 方式向域名 upload.qiniup.com 发起这个请求,即可将指定文件上传到服务端。详细使用方法请参考表单上传 API。

使用方法

我们可以用如下的 HTML 表单来描述表单上传的基本用法:

enctype="multipart/form-data">

关键参数说明:

名称

类型

必填

说明

action

string

上传地址,可参考存储区域

resource_key

string

资源名,必须是 UTF-8 编码。注意: 如果上传凭证中 scope 指定为 :, 则该字段也必须指定。

custom_name

string

自定义变量的名字,不限个数。

custom_value

string

upload_token

string

必须是一个符合相应规格的上传凭证,否则会返回 401 表示权限认证失败。

crc32

string

上传内容的 crc32 校验码。如填入,则七牛服务器会使用此值进行内容检验。

accept

string

当 HTTP 请求指定 accept 头部时,七牛会返回 content-type 头部的值。该值用于兼容低版本 IE 浏览器行为。低版本 IE 浏览器在表单上传时,返回 application/json 表示下载,返回 text/plain 才会显示返回内容。

file

file

文件本身。

提交以上 HTML 表单而生成的 HTTP 请求内容大致如下:

POST / HTTP/1.1

Host:

Content-Type: multipart/form-data; boundary=

Content-Length:

--

Content-Disposition: form-data; name="key"

--

Content-Disposition: form-data; name="x:"

--

Content-Disposition: form-data; name="token"

--

Content-Disposition: form-data; name="crc32"

--

Content-Disposition: form-data; name="accept"

--

Content-Disposition: form-data; name="file"; filename=""

Content-Type: application/octet-stream

Content-Transfer-Encoding: binary

----

在非网页开发的场景中,开发者完全可以自行组装这个 HTML 表单请求。考虑到各个平台上的网络库都已经对 HTML 文件上传表单有非常完整的支持,组装这个请求的过程将会非常轻松。

后续动作

我们可以在生成上传凭证时指定一系列的参数,以控制服务器在文件上传完成后的后续动作。另外如果需要,我们可以在表单参数中增加一系列魔法变量和自定义变量。上述表单例子中的x:就是变量的使用方法示例。我们可以将其更换为一系列魔法变量或自定义变量。

变量将会在回调和自定义返回内容中起到极大的作用。具体用法请参考回调通知(callback)和自定义响应内容(ReturnBody)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值