js文件大小,类型判断

<script>

function ValidateFileSize(FilePath,FileMaxSize,fileExt){

var ValidateFileSize="";
if(FilePath==""){
        ValidateFileSize = "-2";
        return ValidateFileSize;
}
if(fileExt != ""){
var ext = fileExt.split(",");
var index1=FilePath.lastIndexOf(".");
        var index2=FilePath.length;
        var suffix=FilePath.substring(index1+1,index2);
        var j=0;
for(var i=0;i<ext.length;i++){
if(suffix==ext[i]){
j=j+1;
}
}
if(j==0){
ValidateFileSize = "-3";
return ValidateFileSize;
}
}
if(FileMaxSize != ""){
var fso = new ActiveXObject("Scripting.FileSystemObject");
         var size = fso.GetFile(FilePath).size;
         if(size==0){
        ValidateFileSize = "0";
        return ValidateFileSize;
         }
         if(size>FileMaxSize){
        ValidateFileSize = "2";
        return ValidateFileSize;
         }

}

function upload()
{
var form = document.getElementById("uploadForm");
var file = document.getElementById("file").value;


var fileValidateResult = ValidateFileSize(file,5242880,"txt,xls");
switch (fileValidateResult)
{
case "-3":
top.jQuery.alerts.alert('只支持TXT,XLS文件格式.');
return;
case "-2":
top.jQuery.alerts.alert('未选择本地文件.');
return;
case "-1":
top.jQuery.alerts.alert('本地文件已经不存在,可能被删除.');
return;
case "0":
top.jQuery.alerts.alert('上传的文件内容不允许为空.');
return;
case "2":
top.jQuery.alerts.alert('上传的文件不能大于5M.');
return;
}

top.lockScreenWait('show');
form.submit();
}

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的实现方案,可以用于判断不同浏览器和图片类型、大小: ```javascript function validateImage(file) { // 获取文件类型和大小 var fileType = file.type; var fileSize = file.size; // 判断文件类型 if (fileType !== "image/png" && fileType !== "image/jpg" && fileType !== "image/jpeg") { alert("只支持 png, jpg 和 jpeg 格式的图片"); return false; } // 判断文件大小 if (fileSize > 5 * 1024 * 1024) { alert("文件大小不能超过 5MB"); return false; } // 判断浏览器类型 var isIE = navigator.userAgent.indexOf("Trident") !== -1; var isEdge = navigator.userAgent.indexOf("Edge") !== -1; var isChrome = navigator.userAgent.indexOf("Chrome") !== -1; if (isIE || isEdge) { // IE 和 Edge 浏览器 var objImg = document.createElement("img"); objImg.src = file.value; if (objImg.fileSize > 5 * 1024 * 1024) { alert("文件大小不能超过 5MB"); return false; } } else if (isChrome) { // Chrome 浏览器 var img = new Image(); img.src = window.URL.createObjectURL(file); img.onload = function() { if (this.width > 1920 || this.height > 1080) { alert("图片宽度不能超过 1920px,高度不能超过 1080px"); return false; } }; } return true; } // 监听上传图片事件 var fileInput = document.getElementById("fileInput"); fileInput.addEventListener("change", function() { var file = this.files[0]; if (validateImage(file)) { // 图片验证通过,可以进行上传操作 // ... } }); ``` 注意:以上代码仅为基本实现方案,可能存在一些兼容性问题和安全性问题,具体需要根据实际情况进行优化和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值