一:上传模型:http://img.blog.csdn.net/20150114183548277
二:普通客户端上传:http://lalalala.qiniudn.com/api/v6/img/normal-upload.png
三:上传步骤:
(前提是下载qiniu-android-sdk-7.0.0.jar和android-async-http-1.4.6并导入项目)
上图展示了普通客户端直传的基本流程。具体步骤说明如下:
1.应用客户端向应用服务器请求上传文件(在服务器端生成uploadToken)。通常,应用客户端需要向应用服务器发送资源名,空间名和deadline等参数由应用服务器的业务逻辑确定;
(1)这里注意一下bucket:七牛空间名称和deadline:uploadToken失效时间,具体可查看一下官网上传凭证介绍
uploadToken($flags)是自己封装的用于生成上传凭证的函数
2.应用服务器构造上传策略;
3.应用服务器将上传策略序列化成json格式,对其实施签名算法,得到上传凭证;
4.应用服务器将上传凭证返回给应用客户端;
5.应用客户端构造完整的上传请求;
6.应用客户端发送上传请求,启动上传;
7.七牛云存储执行上传操作,保存资源。完成后反馈用户相应的信息。如果上传失败,七牛云存储将反馈用户具体的失败信息。
四:文件上传后的命名
android SDK七牛上传文件之后文件名字是FizafHGoZISjKrJP这之类的东西,怎么才能储存成原来的文件名?
上传时指定key。
文件上传后的命名将遵循以下规则:
客户端已指定Key,以Key命名;
客户端未指定Key,上传策略中设置了saveKey,以saveKey的格式命名;
客户端未指定Key,上传策略中未设置saveKey,以文件hash(etag)命名。
网友评论