文件上传 类型、大小 限制判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var _this=this;
var fileObj = $(_this)[0].files[0];
if(validateVideo(_this)){
//通过判断文件符合条件
}

function validateVideo(ele){
var file = ele.value;
if(!file){
return false;
}
var extStart=file.lastIndexOf(".");
var ext=file.substring(extStart,file.length).toUpperCase();
//var video_arr=['.MP4','.FLV','.AVI','.SWF'];
var image_arr=['.JPG','.JPEG','.PNG'];
if($.inArray(ext,video_arr) == -1){
layer.msg("视频类型必须是mp4中的一种", {icon: 2});
return false;
}else{
if(ele.files[0]&&((ele.files[0].size).toFixed(2))>=(20*1024*1024)){
layer.msg("请上传小于20M的视频",{icon: 2});
return false;
}else{
return true;
}
}
}

文件 ajax 上传

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var loadIndex = null;
var vv='111';
var fileObj = $(_this)[0].files[0];
var form = new FormData();
form.append("file",fileObj);
form.append("vv",vv);

$.ajax({
type:"POST",
url:'请求地址',
data:form,
processData:false,
contentType : false,
dataType:'json',
beforeSend: function () {
loadIndex = layer.load(1, {
shade: [0.1, '#fff']
});
},
complete: function () {
layer.close(loadIndex);
},
success:function (res) {
if(res.status==200){
console.log(res);
resfun(res.data);
}else{
layer.msg(res.msg,{icon:2});
}
},
error:function (xhr, type, errorThrown) {
layer.msg('上传错误,代码'+xhr.status,{icon:2});
}
});