在 iPic 中添加七牛云
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 iPic 中添加七牛云相关的知识,希望对你有一定的参考价值。
参考技术A七牛云是 iPic 在内测期间呼声比较高的国内图床,这里介绍下在 iPic 中添加七牛云的过程。
这点比较简单,直接到 这里 注册即可。
七牛的数据处理是以 资源 为单位的,这里我们可以简单理解为七牛中的 文件夹 。
登录七牛后,进入 添加资源 页面,选择添加 ****对象存储****。
这里我创建一个 ****test**** 资源。
# 在 iPic 中添加七牛图床
打开 偏好设置 ,进入 图床 页,选择添加 七牛 。
以下分别介绍各项的意义及如何配置:
完成输入后,可以点击 ****验证**** 按钮。如果输入没有问题,则右侧会出现 ****通过**** 链接,点击后就可以看到测试时上传至七牛的图片。
最后,点击 ****应用**** 按钮进行保存。
# 使用七牛
在 iPic 菜单 > 图床 中选择刚刚添加的七牛,之后上传的图片就会在七牛图床中。
注:本文中的图就是通过上述方式先上传至七牛、再粘贴至 Markdown 编辑器中,确实很方便,大家试试吧。
thinkphp 中 使用七牛云上传
利用七牛云私有空间存储文件
第一步,注册七牛云,创建空间,将空间设为私有
需要记下的东西:
AK,SK,bucket
第二步配置ThinkPHP
在config.php添加
‘UPLOAD_SITEIMG_QINIU‘=>array( ‘maxSize‘=>5*1024*1024,//文件大小 ‘rootPath‘=>‘./‘, ‘saveName‘=>array(‘uniqid‘,‘‘), ‘driver‘=>‘Qiniu‘, ‘driverConfig‘=>array( ‘secrectKey‘=>‘<这里填七牛SK>‘, ‘accessKey‘=>‘<这里填七牛AK>‘, ‘domain‘=>‘<空间名称>.qiniudn.com‘, ‘bucket‘=>‘<空间名称>‘, )
第三步,上传文件
控制器
$setting=C(‘UPLOAD_SITEIMG_QINIU‘); $Upload=new\Think\Upload($setting); $info=$Upload->upload($_FILES);
上传文件后得到的$info是这样的
array(1){ ["photo"]=>array(10){ ["name"]=> ["type"]=> ["size"]=> ["key"]=>" ["ext"]=> ["sha1"]=> ["savename"]=> ["savepath"]=> ["url"]=> } }
第四步,计算下载凭证
Common目录function.php添加方法
functionQiniu_Encode($str)//URLSafeBase64Encode { $find=array(‘+‘,‘/‘); $replace=array(‘-‘,‘_‘); returnstr_replace($find,$replace,base64_encode($str)); } functionQiniu_Sign($url){//$info里面的url $setting=C(‘UPLOAD_SITEIMG_QINIU‘); $duetime=NOW_TIME+86400;//下载凭证有效时间 $DownloadUrl=$url.‘?e=‘.$duetime; $Sign=hash_hmac(‘sha1‘,$DownloadUrl,$setting["driverConfig"]["secrectKey"],true); $EncodedSign=Qiniu_Encode($Sign); $Token=$setting["driverConfig"]["accessKey"].‘:‘.$EncodedSign; $RealDownloadUrl=$DownloadUrl.‘&token=‘.$Token; return$RealDownloadUrl; }
$RealDownloadUrl为下载对应私有资源的可用URL
参考
http://document.thinkphp.cn/manual_3_2.html#upload
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html
以上是关于在 iPic 中添加七牛云的主要内容,如果未能解决你的问题,请参考以下文章