vue實現(xiàn)移動端input上傳視頻、音頻
vue移動端input上傳視頻、音頻,供大家參考,具體內(nèi)容如下
html部分
<div class="title">現(xiàn)場視頻</div> <div class="upLoad"> <label for="pop_video" id="labelr"> <video id="videoId" controls width="100%"></video> <input style="display:none;" id="pop_video" type="file" accept="video/*" capture="camcorder" v-on:change="getVideo(event, '2')" name="fileTrans" ref="file" value=""> <div class="inputVideo">上傳視頻</div> </label> </div> <div class="title">現(xiàn)場音頻頻</div> <div class="upLoad"> <label for="pop_audio" id="labelr"> <audio id="audioId" controls width="100%"></audio> <input style="display:none;" id="pop_audio" type="file" accept="audio/*" capture="camcorder" v-on:change="getAudio(event, '2')" name="fileTrans" ref="file" value=""> <div class="inputAudio">上傳音頻</div> </label> </div>
js部分
getVideo (ev, typer) {
let taht = this
//獲取上傳文件標(biāo)簽
let filesId = document.getElementById('pop_video');
//獲取音頻標(biāo)簽
let videoId = document.getElementById('videoId')
//把當(dāng)前files[0]傳給getFileURL方法, getFileURL方法對其做一處理
let url = this.getFileURL(filesId.files[0])
if (url) {
//給video標(biāo)簽設(shè)置src
videoId.src = url
}
let formData = new FormData();
formData.append("file", filesId.files[0]);
upload(this.token, formData).then(res => {
console.log(res)
if (res.data.code === 0) {
this.videoURL = res.data.data.url
}
})
console.log(url)
},
getAudio (ev, typer) {
let taht = this
//獲取上傳文件標(biāo)簽
let filesId = document.getElementById('pop_audio');
//獲取音頻標(biāo)簽
let audioId = document.getElementById('audioId')
//把當(dāng)前files[0]傳給getFileURL方法, getFileURL方法對其做一處理
let url = this.getFileURL(filesId.files[0])
if (url) {
//給video標(biāo)簽設(shè)置src
audioId.src = url
}
let formData = new FormData();
formData.append("file", filesId.files[0]);
upload(this.token, formData).then(res => {
console.log(res)
if (res.data.code === 0) {
this.audioURL = res.data.data.url
}
})
console.log(url)
},
getFileURL (file) {
let getUrl = null
if (window.createObjectURL != undefined) {
//basic
getUrl = window.createObjectURL(file)
} else if (window.URL != undefined) {//window.URL 標(biāo)準(zhǔn)定義
//mozilla(firefox)
//獲取一個http格式的url路徑,這個時候就可以設(shè)置<img>中的顯示
getUrl = window.URL.createObjectURL(file)
} else if (window.webkitURL != undefined) {//window.webkitURL是webkit的內(nèi)核
//webkit or chrome
getUrl = window.webkitURL.createObjectURL(file)
}
return getUrl
//video 標(biāo)簽的 duration屬性,獲取當(dāng)前視頻的長度
// let duration = videoId.duration
// if (Math.floor(duration) > 60) {
// that.layer.msg('視頻不能大于60秒')
// }
},
css部分
#inspect .upLoad {
background-color:#fff;
/* height: 1.5rem; */
text-align: left;
padding: 0.3rem;
}
#inspect .inputVideo {
background-color: #00cc66;
color: #fff;
font-size: 0.32rem;
width: 30%;
height: 0.8rem;
line-height: 0.8rem;
border-radius: 0.4rem;
text-align: center;
margin: 0 auto;
}
#inspect .inputAudio {
background-color: #5cadff;
color: #fff;
font-size: 0.32rem;
width: 30%;
height: 0.8rem;
line-height: 0.8rem;
border-radius: 0.4rem;
text-align: center;
margin: 0 auto;
}
效果圖

關(guān)于vue.js組件的教程,請大家點擊專題vue.js組件學(xué)習(xí)教程進(jìn)行學(xué)習(xí)。
更多vue學(xué)習(xí)教程請閱讀專題《vue實戰(zhàn)教程》
更多精彩內(nèi)容請參考專題《ajax上傳技術(shù)匯總》,《javascript文件上傳操作匯總》和《jQuery上傳操作匯總》進(jìn)行學(xué)習(xí)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
對Vue table 動態(tài)表格td可編輯的方法詳解
今天小編就為大家分享一篇對Vue table 動態(tài)表格td可編輯的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
基于vue-cli3多頁面開發(fā)apicloud應(yīng)用的教程詳解
這篇文章主要介紹了基于vue-cli3多頁面開發(fā)apicloud應(yīng)用,本文采用vue-cli+APIcloud的方式寫解決以上痛點,開發(fā)靈活,并且打包之后體積更小速度更快,需要的朋友可以參考下2019-06-06
Create?vite理解Vite項目創(chuàng)建流程及代碼實現(xiàn)
這篇文章主要為大家介紹了Create?vite理解Vite項目創(chuàng)建流程及代碼實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
element使用自定義icon圖標(biāo)的詳細(xì)步驟
前端經(jīng)常會用到UI提供的各種圖表,推薦阿里的圖標(biāo)庫,下面這篇文章主要給大家介紹了關(guān)于element使用自定義icon圖標(biāo)的詳細(xì)步驟,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
vue2.0結(jié)合Element-ui實戰(zhàn)案例
這篇文章主要介紹了vue2.0結(jié)合Element-ui實戰(zhàn)案例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03
腳手架(vue-cli)創(chuàng)建Vue項目的超詳細(xì)過程記錄
用vue-cli腳手架可以快速的構(gòu)建出一個前端vue框架的項目結(jié)構(gòu),下面這篇文章主要給大家介紹了關(guān)于腳手架(vue-cli)創(chuàng)建Vue項目的超詳細(xì)過程,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
vue路由守衛(wèi),限制前端頁面訪問權(quán)限的例子
今天小編就為大家分享一篇vue路由守衛(wèi),限制前端頁面訪問權(quán)限的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

