成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

靠近阿里云--視頻點(diǎn)播

RdouTyping / 1221人閱讀

摘要:在使用做前端項(xiàng)目需求視頻直傳阿里云服務(wù)器參考文檔阿里云官方導(dǎo)入官方的事件獲取上傳權(quán)限采用上傳方式,后臺(tái)獲取相關(guān)權(quán)限去上傳去上傳獲取視頻信息得到視頻封面圖片獲取視頻信息正在獲取縮略圖這里加定時(shí)器,等待響應(yīng)下面是設(shè)置上傳進(jìn)度分片大小

在使用vue做前端項(xiàng)目需求視頻直傳阿里云服務(wù)器
參考文檔(阿里云官方)
https://help.aliyun.com/docum...

導(dǎo)入官方sdk


input的@change事件

change(event) {
     let file = event.target.files[0]
     let url = URL.createObjectURL(file)
     this.getVideoUploadAuth(file) //獲取上傳權(quán)限
}

采用UploadAuthAndAddress上傳方式,后臺(tái)php獲取相關(guān)權(quán)限

getVideoUploadAuth(file) {
    let path = document.getElementById("file").value
    let params = {
        video_title: file.name,
        video_url: path
    }
    axios.post("https://xxx/aliapi/upload.php", params).then(res => {
        uploadAuth = res.data.UploadAuth
        uploadAddress = res.data.UploadAddress
        videoId = res.data.VideoId
        uploader.addFile(file, null, null, null, userData);
        this.videoUploadFn() //去上傳
    })
}

去上傳

videoUploadFn() {
    uploader.startUpload();
    _videoUploadSuccess.ok = false
    let interval = setInterval(() => {
        if(_videoUploadSuccess.ok) {
               clearInterval(interval)
               this.getVideoInfo() // 獲取視頻信息得到視頻封面圖片
          }
     , 10);
}

獲取視頻信息

getVideoInfo() {
    let sett 
    this.$post(`https://xxxx/ali/info.php`,{videoId :_videoUploadSuccess.uploadInfo.videoId}).then(res => {
         res = res.data
         xmview.showLoading("正在獲取縮略圖..")
         if (res.Video.CoverURL) {
             this.posterimg = res.Video.CoverURL
             sessionStorage.setItem("video_content",_videoUploadSuccess.uploadInfo.videoId)
             sessionStorage.setItem("video_thumb",res.Video.CoverURL)
             xmview.hideLoading()
             clearTimeout(sett)
         } else {
             // 這里加定時(shí)器,等待響應(yīng)
             sett = setTimeout(() => {
                 this.getVideoInfo()
             }, 3000);
         }               
    })
}

下面是sdk設(shè)置

var uploadAuth = ""
var uploadAddress = "" 
var videoId = ""
var _videoUploadSuccess = {
    ok: false,
    uploadInfo: {}
}
var _uploadprogress = 0 // 上傳進(jìn)度
const uploader = new AliyunUpload.Vod({
        //分片大小默認(rèn)1M,不能小于100K
        partSize: 1048576,
        //并行上傳分片個(gè)數(shù),默認(rèn)5
        parallel: 5,
        //網(wǎng)絡(luò)原因失敗時(shí),重新上傳次數(shù),默認(rèn)為3
        retryCount: 3,
        //網(wǎng)絡(luò)原因失敗時(shí),重新上傳間隔時(shí)間,默認(rèn)為2秒
        retryDuration: 2,
        // 開(kāi)始上傳
        "onUploadstarted": function(uploadInfo) {
            console.log("onUploadStarted:" + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object);
            //上傳方式1, 需要根據(jù)uploadInfo.videoId是否有值,調(diào)用點(diǎn)播的不同接口獲取uploadauth和uploadAddress,如果videoId有值,調(diào)用刷新視頻上傳憑證接口,否則調(diào)用創(chuàng)建視頻上傳憑證接口
            uploader.setUploadAuthAndAddress(uploadInfo, uploadAuth, uploadAddress, videoId);
        },
        // 文件上傳成功
        "onUploadSucceed": function(uploadInfo) {
            _videoUploadSuccess.ok = true
            _videoUploadSuccess.uploadInfo = uploadInfo
            console.log("onUploadSucceed: " + uploadInfo.file.name + ", endpoint:" + uploadInfo.endpoint + ", bucket:" + uploadInfo.bucket + ", object:" + uploadInfo.object);
        },
        // 文件上傳失敗
        "onUploadFailed": function(uploadInfo, code, message) {
            console.log("onUploadFailed: file:" + uploadInfo.file.name + ",code:" + code + ", message:" + message);
        },
        // 文件上傳進(jìn)度,單位:字節(jié)
        "onUploadProgress": function(uploadInfo, totalSize, loadedPercent) {
            _uploadprogress = Math.ceil(loadedPercent * 100)
            console.log("onUploadProgress:file:" + uploadInfo.file.name + ", fileSize:" + totalSize + ", percent:" + Math.ceil(loadedPercent * 100) + "%");
        },
        // 上傳憑證超時(shí)
        "onUploadTokenExpired": function(uploadInfo) {
            console.console.log("onUploadTokenExpired");
            //上傳方式1  實(shí)現(xiàn)時(shí),根據(jù)uploadInfo.videoId調(diào)用刷新視頻上傳憑證接口重新獲取UploadAuth
            uploader.resumeUploadWithAuth(uploadAuth);
            // 上傳方式2 實(shí)現(xiàn)時(shí),從新獲取STS臨時(shí)賬號(hào)用于恢復(fù)上傳
            // uploader.resumeUploadWithSTSToken(accessKeyId, accessKeySecret, secretToken, expireTime);
        },
        //全部文件上傳結(jié)束
        "onUploadEnd": function(uploadInfo) {
            console.log("onUploadEnd: uploaded all the files");
        }
    });
    const userData = "{"Vod":{"UserData":{"IsShowWaterMark":"false","Priority":"7"}}}"

2018-10-24
完。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98650.html

相關(guān)文章

  • 阿里戰(zhàn)略投入邊緣計(jì)算技術(shù)領(lǐng)域 發(fā)布首款產(chǎn)品Link Edge

    摘要:月日,在云棲大會(huì)深圳峰會(huì)上,阿里云宣布年將戰(zhàn)略投入邊緣計(jì)算技術(shù)領(lǐng)域。月日,阿里巴巴集團(tuán)宣布將列為繼云計(jì)算后新的主賽道,并戰(zhàn)略投入邊緣計(jì)算,在全球形成一朵無(wú)處不在的云。 3月28日,在2018云棲大會(huì)·深圳峰會(huì)上,阿里云宣布2018年將戰(zhàn)略投入邊緣計(jì)算技術(shù)領(lǐng)域。 showImg(https://segmentfault.com/img/bV7fOA?w=975&h=584); 同時(shí),推出...

    AlanKeene 評(píng)論0 收藏0
  • 靠近阿里---圖片上傳(1)

    摘要:前端項(xiàng)目,基于框架實(shí)現(xiàn)阿里云圖片上傳單張安裝依賴包編寫(xiě)后端提供數(shù)據(jù)直接使用使用的直傳完。 前端項(xiàng)目,基于vue框架實(shí)現(xiàn)阿里云圖片上傳(單張) 1.安裝依賴包 npm install ali-oss 2.編寫(xiě)alioss.js var OSS = require(ali-oss) export function client() { var client = new OSS({ ...

    JellyBool 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<