Tp3如何實現本地視頻文件上傳到七牛雲

  對於七牛雲的使用,估計有些剛接觸開發的技術人員還不太清楚,那麼更不要說如何實現本地視頻上傳到七牛雲轉儲了,其實這個技術並沒有想象中的那麼困難,下面就來跟大家詳細介紹一下流程:

  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開發公司燚軒科技整理髮表,如需轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章