|
发表于 2017-10-5 14:44:41
|
显示全部楼层
sdk文件夹放在application/libraries/下
目录是这样的
application/libraries/Qiniu
application/libraries/Qiniu.php
控制器******************************************
1 获取token
public function getQiniuToken() {
$this->load->library('Qiniu');
$bucket = '你的bucket';
$accessKey = '你的accessKey';
$secretKey = '你的secretKey';
$auth = new Qiniu\Auth($accessKey, $secretKey);
echo $auth->uploadToken($bucket);
}
2 删除图片
public function DeleteQiniuFile() {
$key = $this->input->post("filename"); //要删除的图片名,就是后面的 qiniuKey
$this->load->library('Qiniu');
$bucket = '你的bucket';
$accessKey = '你的accessKey';
$secretKey = '你的secretKey';
$auth = new Qiniu\Auth($accessKey, $secretKey);
$bucketMgr = new Qiniu\Storage\BucketManager($auth);
$bucketMgr->delete($bucket, $key);
}
前台js******************************************
1 从控制器获取token
var TOKEN = '';
function initToken() {
if(TOKEN === '') {
$.ajax({
type: "post",
data: null,
url: site_url + '/控制器名称/getQiniuToken',
success: function(result){
TOKEN = result;
}, error: function(result){
}
});
}
}
2 上传函数,我这里用了一个上传组件,你参考有@的地方
function initImgUpload() {
initToken();
var qiniuKey = "你设定的唯一文件名,要对于你的七牛账号都是唯一的一个字符串标识";
var up = $('#imgUpload').Huploadify({
auto:false,
fileTypeExts:'*.jpg;*.png;*.jpeg;*.gif',
multi:false,
fileSizeLimit:1024,
buttonText:"选择图片",
breakPoints:true,
saveInfoLocal:true,
showUploadedPercent:true,//是否实时显示上传的百分比,如20%
showUploadedSize:true,
removeTimeout:700,
uploader:'http://up.qiniu.com', //@注意这里,上传文件不经过ci,直接到qiniu服务器了
onUploadStart:function(){
up.Huploadify('settings','formData', {key:qiniuKey, token:TOKEN}); //@注意这里 ,上传文件时把这两参数带上
},
onUploadSuccess:function(file){
//图片上传成功后的一些后续处理
$.ajax({
type: "post",
data: {qiniuKey:qiniuKey},
url: site_url + '/xxxxx/业务处理',
success: function(result){
//业务处理成功
}, error: function(result){
}
});
}
});
}
3 删除图片
// 删除七牛服务器的图片
function deleteQiniu(result) {
$.ajax({
type: "post",
data: {filename:'要删除的图片的唯一的文件名(字符串标识)'},
url: site_url + '/xxxxxxxx/DeleteQiniuFile',
success: function(result){
//删除成功
}, error: function(result){
}
});
}
|
|