Prefacio:
A menudo se usa en proyectos para cargar archivos, fotos y otras funciones, y el tamaño de los archivos cargados debe ser limitado. Muchos complementos utilizarán la verificación de solicitudes de fondo, y la verificación JS front-end es relativamente pequeña. Este artículo presenta un método JS front-end para juzgar fácilmente el tamaño del archivo de carga.
Esto es mejor
<html> <fead> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <script type = "text/javaScript"> var isie = /msie/i.test(navigator.Useragent) &&! Window.operA; function filechange (target, id) {var filesize = 0; var filetypes = [".jpg", ".png", ".rar", ".txt", ".zip", ".doc", ".ppt", ".xls", ".pdf", ".docx", ".xlsx"]; var filepath = target.value; var fileMaxSize = 1024 * 2; // 2m if (filePath) {var isNext = false; var fileend = filepath.substring (filePath.IndexOf (".")); if (filetypes && filetypes.length> 0) {for (var i = 0; i <filetypes.length; i ++) {if (filetypes [i] == fileend) {isNext = true; romper; }}} if (! isNext) {alert ("¡Este tipo de archivo no es aceptado!"); Target.Value = ""; devolver falso; }} else {return false; } if (isie &&! Target.files) {var filepath = target.value; var filesystem = new ActiveXObject ("scripting.filesystemObject"); if (! filesystem.fileExists (filePath)) {alerta ("El archivo adjunto no existe, ¡vuelva a ingresar!"); devolver falso; } var file = filesystem.getFile (filePath); filesize = file.size; } else {filesize = target.files [0] .size; } var size = filesize / 1024; if (size> fileMaxSize) {alerta ("El tamaño del archivo adjunto no puede ser mayor que" + FileMaxSize / 1024 + "M!"); Target.Value = ""; devolver falso; } if (size <= 0) {alerta ("El tamaño del archivo adjunto no puede ser 0m!"); Target.Value = ""; devolver falso; }} </script> </head> <body> <input type = "file" name = "contractFileName" onChange = "filechange (this);"/> </body> </html>No se recomienda el siguiente código
El código es muy simple. La clave es cómo usar JS para obtener el archivo y obtener el tamaño del archivo, y luego juzgarlo e interceptarlo. Debido a varias razones históricas, los factores de control ActiveX de IE y el método para obtener archivos pueden ser diferentes de otros navegadores, por lo que solo se requiere un poco de juicio.
Código JS:
<script type = "text/javaScript"> // Determine si es un navegador IE: /msie/i.test(navigator.useragent) es un simple var regular ISie = /msie/i.test(navigator.useragent) &&! Window.opora; function filechange (target) {var filesize = 0; if (isie &&! Target.files) {// es decir, navegador var filepath = target.value; // Obtenga la ruta absoluta para cargar el archivo/** * ActiveXObject El objeto es un objeto JS compatible con IE y Opera * Uso: * var newobj = new ActiveXObject (servername.typename [, ubicación]) * Donde Newobj es una opción requerida. Devuelve el nombre de la variable del objeto ActiveXObject. * Servername es imprescindible. Proporciona el nombre de la aplicación que es el objeto. * Typename es imprescindible. El tipo o clase del objeto que se creará. * La ubicación es opcional. El nombre del servidor de red que creó el objeto. *//////////////////////////////////////////////////////////////////////////////////////////////////// * Scripting.FileSystemObject is a built-in component de IIS, utilizado para operar discos, carpetas o archivos de texto,* Hay muchos métodos y atributos de Newobj devueltos en IT* Por ejemplo: var file = newobj.createTextFile ("c: /test.txt", true) el segundo parámetro indica si el archivo de destino está sobrescrito cuando existe* File.write ("Escribir contenido"); file.close (); */ var filsystem = new ActiveXObject ("scripting.filesystemObject"); // El método GetFile (ruta) obtiene un archivo del disco y devuelve. var file = filesystem.getFile (filePath); filesize = file.size; // tamaño de archivo, unidad: b} else {// no II navegador filesize = target.files [0] .size; } var size = filesize / 1024 /1024; if (tamaño> 1) {alerta ("El archivo adjunto no puede ser mayor que 1m"); }} </script>Código HTML
La copia del código es la siguiente:
<input type = "file" onchange = "filechange (this);"/>
Un método simple, liviano y rápido para usar el código JS para juzgar el tamaño del archivo está bien. En cuanto a aquellos que están interesados en los objetos ActiveXObject, puede profundizar. Puede devolver diferentes objetos de acuerdo con los parámetros ingresados. Por lo general, las funciones y funciones del objeto también son muy útiles y poderosas.
Eso es todo para este artículo. ¿Es un código muy simple y práctico? Espero que te guste.