Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

:: Uelber ::

Pegar tamanho da imagem em javascript

Recommended Posts

Olá galera,

Estou com um pequeno problema!!

Estou desenvolvendo um site em que o usuário pode inserir imagens. Só que a pasta no servidor destinada a este usuário esta limitada a 20 Mb. O problema é o seguinte: suponhamos que a pasta está com 19,5 Mb e o usuário vai inserir uma foto com 1 Mb. Tenho que verificar o tamanho em bytes da foto para não deixar que essa foto carregue. Transformar em bytes eu sei,o problema é como pegar o tamanho da foto sem ela estar no servidor? Como fazer para verificar o tamanho da foto ao clicar no botão carregar???

Alguém pode e ajudar??

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

function calculate()

{

if (!document.fileSize)

{

alert('This script does not work in your browser.');

return;

}

var size = (document.fileSize)*1;

var y = document.images;

var imglength = 0;

for (i=0;i<y.length;i++)

{

imglength += (y.fileSize)*1;

}

var total = size + imglength;

var writestring = 'File size HTML: ' + size;

writestring += '\nFile size images: ' + imglength;

writestring += '\nTotal file size: ' + total;

if (total > 40000) writestring += "\nFile too large!";

alert(writestring);

}

 

outra alternativa

 

<script>

function A()

{

var oas = new ActiveXObject("Scripting.FileSystemObject");

var d = document.a.b.value;

var e = oas.getFile(d);

var f = e.size;

alert(f + " bytes");

}

 

</script>

</head>

<body>

<form name="a">

<input type="file" name="b">

<input type="button" name="c" value="SIZE" onClick="A();">

</form>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde!

 

Considerações:

 

O primeiro e o segundo scripts só rodam no Internet Explorer, sendo que o primeiro você precisa ter o arquivo "atachada" na página e o segundo utilizar ActiveX que torna o script inseguro fazendo com que o IE emite um aviso de segurança para o usuário ou simplesmente bloqueie a execução.

 

Já vi solucões que utilizavam swf's para fazer o que você deseja, porém não possa afirmar que isto não seja possível de ser feito em javascript de uma forma "segura e confortável",

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.