1.html代碼
<div class="layui-upload" >
<div>
<label class="col-xs-12" for="{$form[type].name}" style="margin-left: 13px;">{$form[type].title|htmlspecialchars}</label>
<button type="button" class="layui-btn uploadVideo" id="upload_video_{$form[type].name}" style=" margin-bottom: 11px;background-color:#00b7ee;margin-left: 31px;">
<i class="layui-icon"></i>上傳視頻</button>
<div class="layui-upload_video">
<input type="hidden" name="{$form[type].name}" data-type="video" data-size="{$form[type]['size']|default=0}" id="{$form[type].name}" value="{$form[type].value|default=''}">
</div>
</div>
<div>
<video style="margin-bottom: 11px; margin-left: 31px;display: inline-block;margin-top: 14px;width: 400px;" controls="controls" class="tag_video" src="{$form[type].value|default=''}" id="src_{$form[type].name}" controls="controls">
您的瀏覽器不支持 video 標籤。
</video>
</div>
</div>
<input type="hidden" class="opt_video" value="{$form[type].name}">
2.js代碼
$(".tag_video").hide()
layui.use('upload', function(){
var $ = layui.jquery,
upload = layui.upload;
var li=[]
,input_file = $('.layui-upload_video').find('input')
,size = input_file.data('size');
for (var j=0; j<$(".opt_video").length;j++ ){
li.push($(".opt_video").eq(j).val());
}
for (var i=0;i<li.length;i++){
upload.render({
elem: '#upload_video_'+li[i]
,url: "/admin.php/admin/ajax/uploadVideo"
,data:{i:i}
,accept: 'video' //音頻
,size:size
,done: function(res){
if(res.code > 0){
return layer.msg('上傳失敗');
}
//上傳成功
if(res.code == 0){
var fileName=res.data.src;
$("#"+li[res.i]).val(fileName)
$("#src_"+li[res.i]).attr("src",fileName);
$("#src_"+li[res.i]).show()
$("#src_"+li[i]).load();
// $.toast("音頻上傳成功");
}
}
})
}
});
php代碼
//上傳視頻
public function uploadVideo(Request $request)
{
$i = input('post.i');
//處理上傳
$file=$request->file("file");
if ($file){
$info = $file->move($_SERVER['DOCUMENT_ROOT'].'/uploads/video');
if ($info){
// 成功上傳後 獲取上傳信息
$url=$info->getSaveName();
$data=["src"=>absolute_path().'/uploads/video/'.$url];
$msg= [
"code"=>0,
"msg"=>'ok',
"data"=>$data,
'i'=>$i
];
exit(json_encode($msg));
}else{
// 上傳失敗獲取錯誤信息
return $this->error($file->getError());
}
}
}