對於七牛雲的使用,估計有些剛接觸開發的技術人員還不太清楚,那麼更不要說如何實現本地視頻上傳到七牛雲轉儲了,其實這個技術並沒有想象中的那麼困難,下面就來跟大家詳細介紹一下流程:
1、首先我們要先去尋找七牛雲的SDK網址,打開後直接下載就行了;
2、下載完成之後我們把它放在tp框架的./ThinkPHP/Extend/Vendor/目錄下;
3、完成之後,前期的準備工作就完成了,接下來就是自己上手寫代碼了:
首先肯定是先在模板部分建立一個form表單:
*視頻上傳:
我們就提交到News控制器裏的do_add這個方法裏邊:
public function do_add(){
if(!empty($_FILES['video']['name'])){ //首先判斷數據是否爲空
import('ORG.Net.UploadFile');
$upload = new UploadFile();// 實例化上傳類
$upload->maxSize = 31457281;// 設置附件上傳大小
$upload->allowExts = array('mp4');// 設置附件上傳類型 如果是MP3的話改爲mp3 就ok
$upload->savePath = './Public/Uploads/video/';// 設置附件上傳目錄(先把文件上傳到本地服務器上)
//$upload->saveName = I('uid').'_'.time();// 設置附件上傳目錄
if(!$upload->upload()) {// 上傳錯誤提示錯誤信息
$this->error($upload->getErrorMsg());
}else{// 上傳成功 獲取上傳文件信息
$info = $upload->getUploadFileInfo();
}
//導入類自動加載器
require_once'./ThinkPHP/Extend/Vendor/qiniusdk/autoload.php';
//七牛的鑰密
$accessKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$secretKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$bucket = 'haha'; //這個是你上傳的空間
$savepath = "http://www.xxxxxxxxxx.com/";//這是你七牛的路徑
$auth = new Auth($accessKey, $secretKey);
//可以對轉碼後的文件進行使用saveas參數自定義命名,當然也可以不指定文件會默認命名並保存在當間
$mediaid = time().uniqid();
$savekey = \Qiniu\base64_urlSafeEncode(haha:'.$mediaid.'.mp4');
$fops = $fops.'|saveas/'.$savekey;
$policy = array(
'persistentOps' => $fops,
);
$uptoken = $auth->uploadToken($bucket, null, 3600, $policy);
//上傳文件的本地路徑
$filePath = './Public/Uploads/video/'.$info[0]['savename'];
$key = $mediaid.'.mp4';
$uploadMgr = new UploadManager();
list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath);
if ($err !== null) {
$dataname["info"]="error";
} else {
$savename=$ret['key'];
$file = $savepath.$savename;
$dataname["info"]=$file;
}
}else{
$dataname["info"]="error";
}
unlink($filePath);//上傳成功後刪除本地服務器上的文件
$audio=D("audio");
$wh['aid']=I("aid");
$data['video_path']=$file;
$re=$audio->add($data); //路徑保存到數據表
if($re){
success('添加成功',U('News/newslist'));
}else{
error("添加失敗");
}
//echo json_encode($dataname); //返回數據結構自行封裝
}
到這裏運行之後還是出錯 找不到Auth這個類,摸索了一會兒才發現少了命名空間,加到控制器頂部即可:
use Qiniu\Storage\UploadManager;
use Qiniu\Auth;
運行後正常。
至此已經上傳完畢,上傳完成到自己的七牛看一看就OK!需要跟大家說明的是MP3和MP4類似,只需要把代碼中的MP4換爲MP3即可,那麼現在大家可以開始動手嘗試一下了,如果還存在疑問的話,可以留言,我們收到後會第一時間回覆。本文由專業的鄭州app開發公司燚軒科技整理髮表,如需轉載請註明出處。