layui 上傳視頻

html 

<div class="layui-form-item">
    <label class="layui-form-label">上傳視頻</label>
        <button type="button" class="layui-btn cover" id="control_video_button">上傳視頻</button>
        <button type="button" class="layui-btn layui-btn-danger cover" id="control_video_del" style="display: {$detail.control_video ? 'inline' : 'none'}">刪除視頻</button>
        <input type="hidden" id="control_video" value="{$detail.control_video}" name="control_video"/>
        <input type="hidden" id="temp_url_id" value="" name="temp_url_id"/>
</div>

 <div class="layui-form-item">
    <label class="layui-form-label"></label>
    <div class="layui-input-block">
        <video src="{$detail.control_video}" controls="controls" id="control_video_demo" style="width: 50%;display: {$detail.control_video ? 'block' : 'none'}">
                                您的瀏覽器不支持 video 標籤。
        </video>
        <p id="demoText"></p>
    </div>
</div>

 js

layui.use(['upload','form'], function(){
    var form = layui.form
        ,$ = layui.jquery
        ,upload = layui.upload;

var uploadInst = upload.render({
                elem: '#control_video_button', //綁定元素
                url: "{:url('Upload/upload')}",//上傳接口
                accept: 'video'
                ,before: function(obj){
                    //預讀本地文件示例,不支持ie8
                    obj.preview(function(index, file, result){
                        $('#control_video_demo').attr('src', result); //圖片鏈接(base64)
                        $('#control_video_demo').css('display','block');
                        $('#control_video_del').css('display','inline');
                    });
                },
                done: function(res){
                    console.log(res);

                    //如果上傳失敗
                    if(res.code != 1){
                        return layer.msg('上傳失敗');
                    }
                    //上傳成功
                    document.getElementById("control_video").value = res.filename;
                    document.getElementById("temp_url_id").value = res.msg;

                },error: function(res){
                    console.log(res);
                    //演示失敗狀態,並實現重傳
                    var demoText = $('#demoText');
                    demoText.html('<span style="color: #FF5722;">上傳失敗</span> <a class="layui-btn layui-btn-xs demo-reload">重試</a>');
                    demoText.find('.demo-reload').on('click', function(){
                        uploadInst.upload();
                    });
                }
            });

            $('#control_video_del').click(function(){
                $('#control_video_demo').css('display','none');
                $('#control_video_del').css('display','none');
                $('#control_video').val('');
            })
});

效果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章