国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > IOS開發(fā)

Laravel框架實現(xiàn)點播上傳阿里云功能

IOS開發(fā) 2023-02-16 22:21:38

1、確認框架中安裝了第三方alibabacoud控件

實現(xiàn)代碼如下

上傳過程中遇到任務(wù)問題,可以進行留言

<?php
 
namespace AppApixxxxControllers;
use DB;
use IlluminateHttpRequest;
use AlibabaCloudTeaUtilsUtils;
use AlibabaCloudSDKVodV20170321Vod;
use AlibabaCloudSDKVodV20170321ModelsDeleteImageRequest;
use AlibabaCloudSDKVodV20170321ModelsGetPlayInfoRequest;
use AlibabaCloudSDKVodV20170321ModelsDeleteVideoRequest;
use AlibabaCloudSDKVodV20170321ModelsGetImageInfoRequest;
use AlibabaCloudSDKVodV20170321ModelsCreateUploadVideoRequest;
use AlibabaCloudSDKVodV20170321ModelsCreateUploadImageRequest;
use DarabonbaOpenApiModelsConfig;
use OSSOssClient;
use AlibabaCloudTeaTea;
class CommonController extends XXController
{
    //視頻點播上傳
    public function uploadVideo($fileName,$title)
    {
        $title = explode('.',$param['title']);
        $fileName = $param['fileName'];
        if($title[1] == 'mp4') {
            $cateId = 3479;//分類ID,阿里云點播可以設(shè)置
         }
        $client = self::createClient("xxx", "xxx");//根據(jù)申請的值放入
        $createUploadVideoRequest = new CreateUploadVideoRequest([
            'Action' => 'CreateUploadVideo',//請求的上傳函數(shù)
            "fileName" => $fileName,//文件名稱
            "cateId" => $cateId,//類型名稱
            'title' => $param['title'],//標(biāo)題
        ]);
        $createRes = $client->createUploadVideo($createUploadVideoRequest);
        $videoId = $createRes->body->videoId; //獲取視頻播放地址需要的參數(shù)
        $formats = $title[1];
        //base64解碼
        $uploadAddress = json_decode(base64_decode($createRes->body->uploadAddress), true);
        $uploadAuth = json_decode(base64_decode($createRes->body->uploadAuth), true);
 
        // 使用UploadAuth和UploadAddress初始化OSS客戶端
        $ossClient = $this->init_oss_client($uploadAuth, $uploadAddress);
        $localFile = $fileName;   // 需要上傳到VOD的本地視頻文件的完整路徑  改這個有效果
       
 
        // 上傳文件,注意是同步上傳會阻塞等待,耗時與文件大小和網(wǎng)絡(luò)上行帶寬有關(guān)
        $result = $this->upload_local_file($ossClient, $uploadAddress, $localFile);
        //$result = multipart_upload_file($ossClient, $uploadAddress, $localFile);
        $arr = $this->playinfo($videoId,$formats);
        $data = Utils::toArray(Tea::merge($arr->body));
        $brr = array();
        $brr['VideoId'] = $data['VideoBase']['VideoId'];//視頻id
        $brr['PlayURL'] = $data['PlayInfoList']['PlayInfo'][0]['PlayURL'];//返回的播放地址
        return $brr;
    }
 
    public function init_oss_client($uploadAuth, $uploadAddress)
    {
        $ossClient = new OssClient($uploadAuth['AccessKeyId'], $uploadAuth['AccessKeySecret'], $uploadAddress['Endpoint'],
            false, $uploadAuth['SecurityToken']);
        $ossClient->setTimeout(86400*7);    // 設(shè)置請求超時時間,單位秒,默認是5184000秒, 建議不要設(shè)置太小,如果上傳文件很大,消耗的時間會比較長
        $ossClient->setConnectTimeout(10);  // 設(shè)置連接超時時間,單位秒,默認是10秒
        return $ossClient;
    }
}

到此這篇關(guān)于Laravel框架實現(xiàn)點播上傳阿里云功能的文章就介紹到這了,更多相關(guān)Laravel點播上傳阿里云內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護,版權(quán)登記號:國作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請注明來源,商業(yè)媒體及紙媒請先聯(lián)系:aishangyiwan@126.com

工信部備案號:湘ICP備19012813號-5