Android客户端实现七牛云存储文件上传

一:上传模型: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)命名。

你可能感兴趣的:(Android客户端实现七牛云存储文件上传)