Ir para conteúdo

Arquivado

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

Elbrinner

Não consigo usar File.ImageType - ASPUPLOAD

Recommended Posts

Quero subir apenas fotos e proibir qualquer arquivo que não seja. Mais não estou conseguindo fazer e não entendo porque.

 

Tenho assim:

 

<form method="POST" enctype="multipart/form-data" action="upload.asp">
	   <input type="FILE" size="40" name="FILE1" />
	   <br>
		  <input type="FILE" size="40" name="FILE2"><br>
		  <input type="FILE" size="40" name="FILE3"><br>
		  <input type="FILE" size="40" name="FILE4"><br>
		  <input type="FILE" size="40" name="FILE5"><br>
		  <input type="FILE" size="40" name="FILE6"><br>
		  <input type="FILE" size="40" name="FILE7"><br>
		  <input type="FILE" size="40" name="FILE8"><br>
		  <input type="FILE" size="40" name="FILE9"><br>
		  <input type="FILE" size="40" name="FILE10"><br>
		  
	 <input type=submit value="Subir arquivos">
	 </form>

E o codigo assim:

 

<%
If session("sesion") <> "" then
Dim objUpload
Set objUpload = Server.CreateObject("Dundas.Upload.2")

objUpload.MaxFileSize = 150000
objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False

objUpload.Save session("eu") &"/"

Set objUpload = Nothing

Response.Write "Upload efetuado com sucesso"
end if
%>

Desta forma funciona o problema que tenho é que usuarios podem subir qualquer coisa...

 

Eu estava tentando fazer assim mais da erro:

 

If File.ImageType = "UNKNOWN" Then
	  Response.Write "Não é uma imagem."
	  Response.End
   End If

Se alguem puder me da alguma dica de como posso fazer seria muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça a comparação com fotos, pegue o nome da foto e faça uma função para verificar as três ultimas letras, no caso o JPG, GIF, PNG, se for diferentes dessas ai sim você bloqueia!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei antes desta forma:

 

If Lcase(Right(filename,3)) = "jpg" Or Lcase(Right(filename,3)) = "gif"  then

O problema é que não reconhece o filename, eu tentei de varias formas como: File.Filename , File.ImageType ...

 

Você sabe como posso recuperar o nome do arquivo? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Dundas ASPUPLOAD retorna o tipo do arquivo através do ContentType. Ex. File.ContentType

 

Para pegar a extensão utilize componente.GetFileExt(File.OriginalPath)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Dundas ASPUPLOAD retorna o tipo do arquivo através do ContentType. Ex. File.ContentType

 

Para pegar a extensão utilize componente.GetFileExt(File.OriginalPath)

Obrigado, vou testar aqui mais ainda não entendo o que seria o File.OriginalPath. Se for a ruta da onde vem o arquivo eu vou precisar fazer um bucle porque no caso estou usando 10 campos. Funcionaria assim?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava lendo o manual de um e tentando fazer com o outro componente... Não sei explicar porque mais vou tentar fazer bem agora.

 

Obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

File.OriginalPath pega o caminho original do arquivo.

 

File se referia ao FOR que criado: For each File in Upload.files

Compartilhar este post


Link para o post
Compartilhar em outros sites

File.OriginalPath pega o caminho original do arquivo.

 

File se referia ao FOR que criado: For each File in Upload.files

Vou testar quando eu chegar em casa.

 

Eu fiz assim com o outro componente e funciono certinho. Dentro do bucle vou gravar os dados no banco de dados.

 


  <%
Set Upload = Server.CreateObject("Persits.Upload")
Count = Upload.Save(Server.Mappath("imagenes/"))


For Each File in Upload.Files
 If File.ImageType = "UNKNOWN" Then
 Response.write "No es una imagene"
 File.Delete
	 Response.End
 else
   For Each Item in Upload.Form
		Response.Write Item.Name & "= " & Item.Value & "<BR>"
   Next  
Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
  End if
Next


Response.Write Count & " Arquivos subidos"
%>

Obrigado uma vez mais

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

a um tempinho atras eu postei no laboratorio de scripts uma classe de upload com os principais componentes. procura lá que tens uma referencia

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.