JavaScript input type=file 获取文件大小及类型限制

<input name="txtName" type="file" id="pic" onchange="loadImage(this)"/>

JavaScript代码:

复制代码
function loadImage(img) {
            var filePath = img.value;
            var fileExt = filePath.substring(filePath.lastIndexOf("."))
                .toLowerCase();
 
            if (!checkFileExt(fileExt)) {
                alert("您上传的文件不是图片,请重新上传!");
                img.value = "";
                return;
            }
            if (img.files && img.files[0]) {
//                alert(img);
//                alert(img.files[0])
                alert('你选择的文件大小' + (img.files[0].size / 1024).toFixed(0) + "kb");
//                var xx = img.files[0];
//                for (var i in xx) {
//                    alert(xx[i])
//                }
            } else {
                img.select();
                var url = document.selection.createRange().text;
                try {
                    var fso = new ActiveXObject("Scripting.FileSystemObject");
                } catch (e) {
                    alert('如果你用的是ie8以下 请将安全级别调低!');
                }
                alert("文件大小为:" + (fso.GetFile(url).size / 1024).toFixed(0) + "kb");
            }
        } 
        function checkFileExt(ext) {
            if (!ext.match(/.jpg|.gif|.png|.bmp/i)) {
                return false;
            }
            return true;
        }
复制代码

 

posted @   Franson  阅读(30504)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示