JavaScript input type=file 獲取檔案大小及型別限制

Franson發表於2016-12-26
<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;
        }

 

相關文章