您当前位置:产品文档 >云计算服务 >对象存储 >操作指南 >浏览文章

上传资源

 

注意:

上传文件的名称中,不支持\0字符。

若文件名中存在\0字符,则会返回400 Bad Request和error message “key must not contain null byte”。

若有特殊需求,请联系技术支持。


表单上传

表单上传是指在一个单一的 HTTP POST 请求中完成一个文件的上传,比较适合简单的应用场景和尺寸较小的文件。


分片上传

分片上传是将一个文件分为多个尺寸相同的小数据块,每个小数据块以一个独立的 HTTP 请求分别上传。所有小数据块都上传完成后,再发送一个请求给服务端将这些小数据块组织成一个逻辑资源,以完成上传过程。

相比表单上传,分片上传的优势:

适合尺寸较大的文件传输,通过分片来避免单个 HTTP 数据量过大而导致连接超时的现象。

在网络条件较差的环境下,较小尺寸的文件可以有较高的上传成功率,从而避免无休止的失败重试。

支持断点续传。

然而,相比表单上传,分片上传需要多次 HTTP 请求才能完成上传过程,会有额外的成本开销。另外也增加了代码的复杂度,因此选择是否使用分片上传时应谨慎评估使用的必要性。


上传后续动作

在上传时开发者可以指定上传完成后服务端的后续动作,例如回调通知(callback)、自定义响应内容、303重定向等。可设置的后续动作与表单上传中完全一致。

这里需要明确的是,虽然后续动作在生成上传凭证时已经指定,但这些后续动作只在服务端处理完创建文件(mkfile)请求后才会发生,而且也只有mkfile请求的内容可以包含变量。

 


名词解释

 

空间

空间是资源的组织管理单位,一个资源必然位于某个空间中。可以为每个空间设置一系列的属性,以对资源提供合理的管理动作。


空间提供两种访问控制:公开空间和私有空间。公开和私有仅对空间的读文件生效,修改、删除、写入等对空间的操作均需要拥有者的授权才能进行操作。空间访问控制可通过对象存储控制台空间设置的访问控制修改。

公开空间:可通过文件对象的 URL 直接访问。

私有空间:文件对象的访问则必须获得拥有者的授权才能访问。

 

资源

资源是飞度云存储服务中的逻辑存储单元。对于每一个账号,该账号里存放的每个资源都有唯一的空间与键(Key)标识。资源名称是一个字符串,例如level1/level2/example1.jpg,它可以是任意字符包括 UTF-8 编码形式的 Unicode 字符。

 

您可以在上传资源时为其指定一个方便管理的资源名,通过前缀来达到类似于文件目录的分类和层次效果。

 

存储区域

存储区域是在创建空间时指定的,一旦指定后就无法修改。存储区域表示飞度云对象存储服务的数据中心所在区域。您可以根据费用、请求来源等因素选择合适的存储区域。一般选择离您近的存储区域访问速度更快。有关存储区域的详细介绍请查阅存储区域选择说明。

 

访问密钥

AccessKey . SecretKey 合称为飞度云的密钥,用于对操作请求进行签名验证。一个账号最多拥有两对密钥,用于不同的访问。

AccessKey: 用于标识用户,用户将 AccessKey 放入访问请求,以便飞度云存储识别访问者的身份。

SecretKey: 是用于加密签名字符串和服务器端验证签名字符串的密钥。