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開發公司燚軒科技整理髮表,如需轉載請註明出處。
相關文章
- elementui upload元件 上傳視訊到七牛雲UI元件
- PHP上傳檔案到七牛(Qiniu)PHP
- vue 靜態檔案上傳到七牛Vue
- C# 檔案上傳到七牛雲伺服器(一)C#伺服器
- nodejs 使用七牛雲端儲存上傳檔案NodeJS
- Laravel 上傳圖片到七牛雲Laravel
- Laravel 圖片上傳到本地和七牛雲類封裝整合Laravel封裝
- RxJava應用:實現七牛雲多圖上傳RxJava
- 七牛雲試用指南-單檔案直傳(實踐)
- iPic 新版:上傳檔案至七牛、又拍、阿里雲、騰訊雲、Amazon S3阿里S3
- base64 上傳到七牛雲 返回url
- PHP 指令碼實現 Markdown 文章上傳到七牛圖床PHP指令碼圖床
- springboot專案上傳儲存圖片到七牛雲伺服器Spring Boot伺服器
- Python實現騰訊雲CDB備份檔案自動上傳到COSPython
- 七牛雲試用指南-單檔案直傳(原理)
- Spring webflux 整合 Mendmix 上傳元件上傳檔案到阿里雲騰訊雲SpringWebUX元件阿里
- 更改DcatAdmin上傳元件, 直傳七牛雲元件
- Java學習筆記(一)上傳圖片到七牛雲的詳細實現流程Java筆記
- 使用Git工具,實現上傳本地專案到GitHubGithub
- git和tormoisegit上傳本地檔案到githubORMGithub
- 將 nuxt 打包檔案上傳到騰訊雲 cosUX
- Laravel——圖片上傳之七牛雲Laravel
- Java檔案上傳如何實現呢?Java
- laravel cdn 結合七牛雲實現檔案自動同步功能Laravel
- 七牛雲招聘~視訊雲產品經理
- 定時備份 MySQL 並上傳到七牛MySql
- 基於七牛和 element-ui 的 vue 檔案上傳元件UIVue元件
- 本地專案上傳到 CODING
- ajax實現檔案上傳
- PHP實現單檔案、多檔案上傳 封裝 物件導向實現檔案上傳PHP封裝物件
- 關於本地專案上傳到碼雲和GitGit
- 怎麼把本地資料庫檔案上傳到雲伺服器ecs資料庫伺服器
- 上傳視訊介面:使用for迴圈,把視訊從本地上傳到伺服器,生成視訊和圖片地址,並儲存到log檔案A1伺服器
- 不使用任何框架,手寫純 JavaScript 實現上傳本地檔案到 ABAP 伺服器框架JavaScript伺服器
- .net上傳大型視訊檔案到伺服器,解決方案伺服器
- 七牛雲測試域名過期後如何備份檔案
- 將本地檔案傳輸到GitHubGithub
- 如何實現上萬大檔案上傳到伺服器並穩定供種?伺服器