Prefácio:
É frequentemente usado em projetos para fazer upload de arquivos, fotos e outras funções e, ao mesmo tempo, é necessário limitar o tamanho dos arquivos carregados. Muitos plug-ins usam a verificação da solicitação de fundo e a verificação do JS front-end é relativamente pequena. Este artigo apresenta um método JS front-end para julgar facilmente o tamanho do arquivo de upload.
Isso é melhor
<html> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <script type = "text/javascript"> var isie = /msie/i.test(navigator.userAgent) &&! window.opera; função filechange (destino, id) {var fileSize = 0; var fileTypes = [".jpg", ".png", ".rar", ".txt", ".zip", ".doc", "ppt "," .xls "," var filepath = Target.value; var filemaxSize = 1024 * 2; // 2m if (filepath) {var isNext = false; var arquivoEND = filepath.substring (filepath.indexof (".")); if (fileTypes && filetypes.length> 0) {for (var i = 0; i <fileTypes.length; i ++) {if (filetyes [i] == FileEND) {isNext = true; quebrar; }}} if (! isNext) {alert ("Este tipo de arquivo não é aceito!"); Target.value = ""; retornar falso; }} else {return false; } if (isie &&! Target.files) {var filepath = Target.value; var filesystem = new ActivexObject ("script.filesystemoBject"); if (! filesystem.fileExists (filepath)) {alert ("Anexo não existe, entre em volta!"); retornar falso; } var arquivo = filesystem.getfile (filepath); filesize = file.size; } else {filesize = Target.files [0] .size; } var size = fileSize / 1024; if (size> filemaxSize) {alert ("O tamanho do anexo não pode ser maior que" + filemaxSize / 1024 + "m!"); Target.value = ""; retornar falso; } if (size <= 0) {alert ("O tamanho do anexo não pode ser 0m!"); Target.value = ""; retornar falso; }} </script> </adhead> <body> <input type = "file" name = "contratfilename" onchange = "filechange (this);"/> </body> </html>O código a seguir não é recomendado
O código é muito simples. A chave é como usar o JS para obter o arquivo e obter o tamanho do arquivo e, em seguida, julgar e interceptá -lo. Por várias razões históricas, os fatores de controle do IE do IE e o método de obtenção de arquivos podem ser diferentes de outros navegadores, portanto, é necessário apenas um pouco de julgamento.
Código JS:
<script type = "text/javascript"> // determine se é um navegador do IE: /msie/i.test(navigator.userAgent) é um simples var isie = /msie/i.test(navigator.useragent) &&! window.opera; função filechange (destino) {var fileSize = 0; if (isie &&! Target.files) {// ie navegador var filepath = Target.value; // Obtenha o caminho absoluto para carregar o arquivo/** * ActivexObject O objeto é um objeto JS compatível com o IE e o Opera * Uso: * var newobj = new ActiveXObject (ServerName.TypeName [, Location]) * onde o Newobj é uma opção necessária. Retorna o nome da variável do objeto ActiveXObject. * o nome do servidor é um obrigatório. Fornece o nome do aplicativo que o objeto é. * o tipo de tipo é um obrigatório. O tipo ou classe do objeto a ser criado. * A localização é opcional. O nome do servidor de rede que criou o objeto. * /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////S do IIS, usado para operar discos, pastas ou arquivos de texto,* Existem muitos métodos e atributos newobj retornados* por exemplo: var file = newobj.createTextFile ("c: /test.txt", true) o segundo parâmetro indica se o arquivo de destino é sobrecarregado quando existe* file.write ("conteúdo"); file.close (); */ var fileSystem = new ActiveXObject ("scripting.filesystemoBject"); // O método getFile (PATH) recebe um arquivo do disco e retorna. var arquivo = filesystem.getfile (filepath); filesize = file.size; // Tamanho do arquivo, unidade: B} else {// não-IE navegador fileSize = Target.Files [0] .size; } var size = fileSize / 1024 /1024; if (tamanho> 1) {alert ("anexo não pode ser maior que 1m"); }} </script>Código HTML
A cópia do código é a seguinte:
<input type = "file" onchange = "filechange (this);"/>
Um método simples, leve e rápido para usar o código JS para julgar o tamanho do arquivo está ok. Quanto àqueles que estão interessados em objetos ActiveXObject, você pode se aprofundar. Ele pode retornar objetos diferentes de acordo com os parâmetros inseridos. Geralmente, as funções e funções do objeto também são muito úteis e poderosas.
Isso é tudo para este artigo. É um código muito simples e prático? Espero que gostem.