<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;
}
}