Jump to content


Photo

Validação De Imagem - Upload


  • Faça o login para participar
9 replies to this topic

#1 AlexCT

AlexCT

    12 Horas

  • Usuários
  • 193 posts
  • Sexo:Não informado

Posted 28/10/2004, 04:11

Estou precisando de tratamento e limitação de upload
(onde vejo muita gente querendo a validação completa)

Ja procurei muito e acabei achando este 3 script's. Como não sei mexer muito bem em javascript, estou precisando dessa ajuda

Pois tenho um upload (asp), e antes de enviar , gostaria que verifica-se
- Tamanho
- Dimensão
- Extensão

Não estão extamente como espero, por isso irei descrever e depois também juntar num só, que para mim seria o mais complexo...


Validação de Tamanho

neste script a pessoa ja coloca o nome da imagem, mas a imagem tem que ser a do file do upload, mas não precisa aparecer a mensagem de imagem ok, só mensagem de imagem com tantos Kb.

<script languagae="javascript">
<!--
var imagem=new Image();
imagem.src="imagem.jpg";

if(imagem.fileSize > 15000) {
  window.alert("A imagem é muito pesada...");
}
else {
  window.alert("Blza, a imagem tá ok em termos de peso.");
}
//-->
</script>


Validação de Dimensão

Neste script pelo o que precebi recupera a dimensão da imagem, mas seria necessário comparar (if) com uma determinada dimensão, aonde não esta fazendo

<script language="JavaScript">
var largura = document.getElementById("exemplo").width;
var altura = document.getElementById("exemplo").height;
alert ("Dimensões: " + largura + " x " + altura);
</script>


Validação de Extensão

este script foi obtido de um upload no post, acho que nao tem que ser mudado, só juntar com os demais. mas se precisar e caso este não de certo tenho outro de extensão.

<script type="text/javascript">
function ChecaExtensaoArquivo( formulario ){
  var extensoesOk = ",.gif,.jpg,";
  
  var extensao    = "," + formulario.arquivo.value.substr( formulario.arquivo.value.length - 4 ).toLowerCase() + ",";
  if( extensoesOk.indexOf( extensao ) == -1 ){
      alert( formulario.arquivo.value + "\nnão possui uma extensão válida" );
      return false;

    }
  return true;
}
</script>


Sobre as mensagem de aviso, poderia ser todas numa janela só ou dados no final do script. Para ficar tudo junto..


#2 AlexCT

AlexCT

    12 Horas

  • Usuários
  • 193 posts
  • Sexo:Não informado

Posted 29/10/2004, 02:01

eu acabei mexendo e acabei conseguindo uns resultados

vou postar o que consegui e o que esta no campo código, ainda nao consegui e neles que preciso a ajuda!!!!!

Agradeço muito quem puder me ajudar!!!!

abaixo código ja testado e ok


<script language="JavaScript" type="text/JavaScript">
<!--width="350" height="225"

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<script languagae="javascript">
function valida()
{
//VERIFICA SE FOI SELECIONADO ALGO NO CAMPO SELECT
if (document.form.fid.selectedIndex == 0){
msg ="__________________________\n\n\n" +
"Selecionar o Jogo!" +
"\n\n_________________________" +
"\nwww.jogosescoteiros.cjb.net";
alert(msg);
document.form.fid.focus();
return false;
}

//VERIFICA SE O CAMPO FILE FOI PREENCHIDO
if (document.form.arq.value == ""){
msg ="__________________________\n\n\n" +
"Selecionar a imagem!" +
"\n\n_________________________" +
"\nwww.jogosescoteiros.cjb.net";
alert(msg);
document.form.arq.focus();
return false;
}

//VERIFICA EXTENSÃO DO ARQUIVO
if((document.form.arq.value.lastIndexOf(".jpg")==-1) &&
(document.form.arq.value.lastIndexOf(".gif")==-1) &&
(document.form.arq.value.lastIndexOf(".jpeg")==-1)){
msg ="______________________________________\n\n\n" +
"Este arquivo NÃO possui uma extensão válida!" +
"\n\n Extensões permitidas: .jpg e .gif" +
"\n\n\nSeu arquivo: " + document.form.arq.value +
"\n\n______________________________________" +
"\nwww.jogosescoteiros.cjb.net";
alert(msg);
document.form.arq.focus();
return false;
}



TESTEI ESTA PARTE MAS NAO DEU CERTO
//VERIFICA TAMANHO DA IMAGEM

	if(document.form.arq.value.filesize > 5000){
	alert("A imagem é muito pesada...");
	document.form.arq.focus();
	return false;
	}




//VERIFICA AS DIMENSÕES DA IMAGEM
var largura = document.form['arq'].width;

var largura = document.form("arq").width;
var altura = document.form("arq").height;
if((largura > 350) && (altura > 225)){
msg = "_____________________________\n" +
"Dimensões: " + largura + px " x " + altura + "px\n\n" +
window.alert(msg);
	//document.form.arq.focus();
    return false;
}



return true;
}

</script>
</head>


<form action="jogoupload_gravar.asp" method="post" enctype="multipart/form-data" name="form" id="form" onsubmit="return valida();">

<select name="fid" class="form2" id="fid">
...

<input name="arq" type="file" class="form2" id="arq" size="45">
</form>


#3 _Renan_

_Renan_

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Não informado

Posted 29/10/2004, 21:37

Olha eu aqui, hehe, tenta isso :

 

<html>
<body>
<form name="form" enctype="multipart/form-data" method="post" action="jogoupload_gravar.asp" id="form">
<p>Escolha a foto:</p>
<p><input type="file" name="arq" size="20" class="form2" id="arq"></p>

<script>
function verifica_extencao() {
var extensoesOk = ",.gif,.jpg,";

var extensao    = "," + document.form.arq.value.substr( document.form.arq.value.length - 4 ).toLowerCase() + ",";
if (document.form.arq.value == "")
  {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
  { alert( document.form.arq.value + "\nNão possui uma extensão válida" );javascript:location.reload()}
else {javascript:tamanhos()}     

}

function tamanhos() {
var imagem=new Image();
imagem.src=document.form.arq.value;
tamanho_imagem = imagem.fileSize 
img_tan = tamanho_imagem
if (tamanho_imagem < 0)
  {javascript:tamanhos()}
else if (tamanho_imagem > 15000)
 {alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");javascript:location.reload()}
else 
 {javascript:ativafigura()}
}

function ativafigura() {
document.getElementById('foto').innerHTML = "<img border=\"0\" src=\""+document.form.arq.value+"\" name=\"img\" style=\"visibility: hidden\" >"
largura = document.getElementById("img").width;
altura = document.getElementById("img").height;
if (largura > 350 || altura > 225 )
   {alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");javascript:location.reload()}
else 
{location.href = "jogoupload_gravar.asp"}
}


</script>


</form>
<p><a href="javascript:verifica_extencao()">GRAVAR!!</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="foto"></div>
</body>
</html> 



#4 AlexCT

AlexCT

    12 Horas

  • Usuários
  • 193 posts
  • Sexo:Não informado

Posted 29/10/2004, 23:43

Antes de mais nada obrigado pela inteção de ajudar renan_doidera

Estou usando o Netscape (pq o IE esta com pau)

Só rodou a parte da extensão

mesmo assim amanha vou testar no ie

mas queria tirar umas duvidas:

para que java script:tamanhos(), não da para ficar sem?


java script:location.reload(), para que?


location.href = "jogoupload_gravar.asp", da para ficar sem, ou isso obriga a passar pelo script?


Poxa nao sei o que fazer... ja tentei varias coisas...

mas obrigado mesmo pela ajuda!!!

#5 carcleo

carcleo

    Normal

  • Usuários
  • 69 posts
  • Sexo:Não informado

Posted 04/03/2009, 20:16

Ola. estou usando o sacript acima para verificar a imagem.
Verificado fora do servidor, o script roda. mas quando jogo na web ele para de fucinar.
Porque será?

Gente.
Peço perdão pelas up's mas é que entendo que o problema é de servidor.;

Seguinte.

Se rodo o arquivo por exemplo a partir da pasta meus documentos, o script roda legal.(calro que só a parte html e ajax e o arquio renomeado para html)

Mas, se jogo ele no servidor ai não roda.
veja o que eu estou falando:
Crie um, arquivo com, este codigo e salve ele como .html e rode ele a partir de meus documentos. Vera que funcionara normal.
depois, jogue ele dentro da pasta htdocs do apache e roda ele a partir do servidor(http://localhost/arquivo.html).
Vera o que estou falando:
Talves o problema possa SER CONMFIGURAÇÃO do php ou deo Apache.

arquivo.html:
<html>
<head>
<title>Teste</title>
<script> 
function verifica_extencao() {
var extensoesOk = ",.gif,.jpg,.jpeg,.png,.bmp,";
var alturaOk = 1000;
var larguraOk = 1000;
var pesoOk = 1500000;
var extensao	= "," + document.form.logomarca.value.substr( document.form.logomarca.value.length - 4 ).toLowerCase() + ",";
if (document.form.logomarca.value == "")
 {alert("O campo do endereço da imagem está vazio!!")}
else if( extensoesOk.indexOf( extensao ) == -1 )
 { alert( document.form.logomarca.value + "\nNão possui uma extensão válida" );java script:location.reload()}
else {
		document.getElementById('logotipo').innerHTML = "<img border=\"0\" src=\""+document.form.logomarca.value+"\" name=\"img\" style=\"visibility: hidden\" >"
		largura = document.getElementById("img").width;
		altura = document.getElementById("img").height;
		if (largura >larguraOk || altura > alturaOk )
		{alert("A imagem é "+largura+"x"+altura+" está fora do padrão requerido");java script:location.reload()}
		else {
			   var imagem=new Image();
			   imagem.src=document.form.logomarca.value;
			   tamanho_imagem = imagem.fileSize 
			   img_tan = tamanho_imagem
			   if (tamanho_imagem > pesoOk)
				{alert("O tamanho da Imagem é muito grande ...  "+tamanho_imagem+" Bytes!!");java script:location.reload()}
			 }
	  }
							 }			 
</script>
</head>
<body>
<form name="form" enctype="multipart/form-data" method="post" action="jogoupload_gravar.asp" id="form">
<p>Escolha a logotipo:</p>
<p><input type="file" name="logomarca" size="20" class="form2" id="logomarca" onChange="verifica_extencao()"></p>
<div id="logotipo"></div>
</form>
</body>
</html>


#6 pedroboy

pedroboy

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino

Posted 29/07/2010, 15:26

MUITO FACIL FAZER ISSO!
a pagina html que eu fiz funfa normal
<html>
<head>
<title>Testando upload de imagens</title>
<script>
function puxa(){
alert("Se o link estiver como 'file:\\c:\' apague o 'file:\\' para funcionar.")
var file = "file:\\" + document.getElementById('arq').value;
document.getElementById("re").innerHTML="PRÉ-VISUALIZAR:<br><img src='"+file+"' >";
}
</script>
Digite aqui o link da imagem do seu computador:<input type="text" id="arq"><input type="button" value="puxar" onclick="puxa()"><br>
<p id="re" ></p>
</form>
</body>
</html>
Testado no mozila,google chrome.
mais o que eu queria saber é se tem como fazer um upload real da imagem,quero dizer,deixar on na net,existe como?

#7 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 17/09/2017, 07:49

Best Price Net For Tadalis Sx 100 50 Mg buy cialis Reglan No Rx Canada
Discount isotretinoin Finasteride 10mg Overseas Low Price
accutane buy online canada <a href=http://cialtobuy.com>cialis</a> Buy Viagra Gold
Levitra Novartis cialis online Legally Stendra Drugs In Internet Visa Viagra Farmaco Vasodilatatore Can Amoxicillin Be Taken With Fluconazole Canada Discount Tadalafil 20mg Acheter Cialis En Ligne Avis cialis Propecia Cuero Cabelludo
Articulo 149 online pharmacy Cheapest Kamagra In Uk
Zithromax Children Dosage
Acquistare Kamagra In Canada <a href=http://cialtobuy.com>online pharmacy</a> Keflex Clotrimazole Cream And Towin

#8 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 03/10/2017, 16:41

Provera 10mg Online No Prescription Propecia Orquitis Tadalafil 20 cialis price Dosi Levitra Amoxicillin Wirkungseintritt
Buy now isotretinoin viagra prescription Amoxicillin Overdose Infant Discount Legally Provera Irregular Periods Order Us Store Generic Viagra Accepts American Express

#9 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 12/10/2017, 19:24

Cephalexin And Bladder Infection Viagra Pfizer Acheter levitra cheap Cheapest 5mg Cialis Propecia Cure Treat Itch Itching Meprate
Zithromax Work For Uti Lasix Generic Online viagra Propecia Prescription Cost

#10 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 29/10/2017, 23:44

Original Viagra Billig Ed Meds Usa Buy Super P Force Pills levitra 40 mg best price Clomid Probabilite Keflex Cross Sensitivity




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq