<?php
namespace App\Controller;
use Think\Controller;
Vendor('php-qiniu-sdk.autoload');
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
class TrendsController extends CommonController {
private $accessKey = 'yourAccesskey';
private $secretKey = 'yourSecretkey';
private $bucket = '****';//上传空间名称;
private $domain ='http://*******.com'//空间域名
/*
上传视频或图片
*/
public function upload_file(){
$file = $_FILES;
// print_r($file);exit;
$v = explode('/', $_FILES['file']['type']);
if($v[0] == 'video' || $v[0] == 'image'){
// 构建鉴权对象
$auth = new Auth($this->accessKey, $this->secretKey);
// 生成上传 Token
$token = $auth->uploadToken($this->bucket);
// 要上传文件的本地路径
$filePath = $_FILES['file']['tmp_name'];
// print_r($_FILES['file']['tmp_name']);exit;
// 上传到七牛后保存的文件名
$key = $_FILES['file']['name'];
// 初始化 UploadManager 对象并进行文件的上传。
$uploadMgr = new UploadManager();
// 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
if($ret){
$ret['link'] = $this->$domain.$ret['key'];
success($ret);
}else{
error($err);
}
}
}
/**
*获取七牛token
*/
public function get_qiniu_token(){
$accessKey = $this->accessKey;
$secretKey = $this->secretKey;
$bucket = $this->bucket;
// 初始化Auth状态
$auth = new Auth($accessKey, $secretKey);
$expires = 3600;
$policy = null;
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
echo json_encode(['uptoken'=>$upToken]);
}
}