相信很多开发者会把存放到七牛上,我的web站点也是吧存储到七牛上,对于以为主的站点,这样可以节省很大带宽。
将上传到七牛服务器的重点就是获得上传凭证uploadToken,直接把AccessKey和Secret放到客户端太不安全,容易被反编译。所以需要在服务器端根据AccessKey和Secret动态生成一个uploadToken,然后传回到客户端,客户端通过这个uploadToken将上传到七牛服务器。
第一、在服务器端生成uploadToken
//将上传到七牛 start
$bucket='七牛空间名称';
$expires = 3600;
$accessKey='去七牛查看';
$secretKey='去七牛查看';
$client = new QiniuClient($accessKey,$secretKey);
$flags = array();
$scope = $bucket;
$deadline = time() + $expires;
$flags['scope'] = $scope;
$flags['deadline'] = $deadline;
$flags['returnBody'] = null;
echo $client->uploadToken($flags);
这里注意一下bucket:七牛空间名称和deadline:uploadToken失效时间,具体可查看一下官网上传凭证介绍
uploadToken($flags)是自己封装的用于生成上传凭证的函数
public function uploadToken($flags) { if(!isset($flags['deadline'])) $flags['deadline'] = 3600 + time(); $encodedFlags = self::urlsafe_base64_encode(json_encode($flags)); $sign = hash_hmac('sha1', $encodedFlags, $this->secretKey, true); $encodedSign = self::urlsafe_base64_encode($sign); $token = $this->accessKey':'$encodedSign ':' $encodedFlags; return $token; }
public static function urlsafe_base64_encode($str){
$find = array("+","/");
$replace = array("-", "_");
return str_replace($find, $replace, base64_encode($str));
}
第二、下载qiniu-android-sdk-700jar和android-async->
你是私有空间还是共有空间?共有空间你选中右边就可以看到连接,私有空间你就得用SDK下载啊!
1,你要是小白你就直接在portal,空间设置》高级设置中把空间改为公有,,,
2,你要是用SDK,就参考文档吧
七牛云加载很慢,一般除了网络应该就是太大了,七牛云也提供了加载缩略图的功能,详细地址在此:
>
以上就是关于android客户端怎样用七牛上传照片全部的内容,包括:android客户端怎样用七牛上传照片、七牛云存储对接好网站后上传不了图片,但是能获取存储空间里的文件、七牛(c#)图片上传后怎么在网页显示出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)