• input上传mp3格式文件,预览并且获取时间


    <input type="file" id="file" name="file" class="upfile" onchange="fileupload(this)"/>
    
    <audio id="audio" controls="" style="display: none;"></audio>
        //附件展示
        $(function () {
                $("#file").change(function () {
                    var objUrl = getObjectURL(this.files[0]);
                    $("#audio").attr("src", objUrl);
                    $("#audio")[0].play();
                    $("#audio").show();
                    getTime();
                });
            });
            <!--获取mp3文件的时间 兼容浏览器-->
            function getTime() {
                setTimeout(function () {
                    var duration = $("#audio")[0].duration;
                    if(isNaN(duration)){
                        getTime();
                    }
                    else{
                        console.info("该歌曲的总时间为:"+$("#audio")[0].duration+"秒")
                    }
                }, 10);
            }
            <!--把文件转换成可读URL-->
            function getObjectURL(file) {
                var url = null;
                if (window.createObjectURL != undefined) { // basic
                    url = window.createObjectURL(file);
                } else if (window.URL != undefined) { // mozilla(firefox)
                    url = window.URL.createObjectURL(file);
                } else if (window.webkitURL != undefined) { // webkit or chrome
                    url = window.webkitURL.createObjectURL(file);
                }
                return url;
            }
    
    //这里以下是对上传文件的验证
    //音频文件上传
        function fileupload(file){
            if(file==null || file==undefined || file==''){
                $("#file").val("");
                window.top.customAlertTip("", "上传的附件不存在!", "warning");
                return;
            }
            //验证音频文件格式
            var b = fileValvoic(file);
            if(!b){
                $("#file").val("");
                return;
            }
                
        }
        //验证后缀
        function endWith(name,end){
            var filename = name.split(".");
            if(filename[filename.length-1]==end){
                return true;
            }else{
                return false;
            }
        }
        //验证音频格式和大小
        function fileValvoic(target){   
        
              var isIE = /msie/i.test(navigator.userAgent) && !window.opera;       
            var fileSize = 0;   
            var fileName = null;       
            if (isIE && !target.files) {      
              var filePath = target.value;      
              var fileSystem = new ActiveXObject("Scripting.FileSystemObject");         
              var file = fileSystem.GetFile (filePath);      
              fileSize = file.Size;   
              fileName = file.Name;  
            }else{     
                 fileSize = target.files[0].size;    
                 fileName = target.files[0].name;  
            }
            
            if(!endWith(fileName,"mp3")){
                window.top.customAlertTip("", "上传的附件不是mp3格式!", "warning");
                return false;
            }
            
            var size = fileSize / 1024 / 1024;   
            if(size>10){   
                window.top.customAlertTip("", "附件大小超过10M!", "warning");
                 return false;
            }else{
                return true;
            }   
        }  
  • 相关阅读:
    delete
    What's an Aggregate Root?
    Mediator Pattern中介者模式
    Domain events: design and implementation
    "ISerializable" should be implemented correctly
    Package version is always 1.0.0 with dotnet pack
    CA1005: Avoid excessive parameters on generic types
    Event Sourcing pattern
    Command and Query Responsibility Segregation (CQRS) pattern
    Implementing event-based communication between microservices (integration events)
  • 原文地址:https://www.cnblogs.com/gjths/p/11196352.html
Copyright © 2020-2023  润新知