Ir para conteúdo

Arquivado

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

DiegoRiba

Problema com Função em Asp Classico. VBScript

Recommended Posts

Boa tarde.

Tenho um código de redimensionamento de imagens. O problema é o seguinte.

Quando coloco a página para rodar, ela ao invés de rodar ela baixa o arquivo .asp.

Não sei mais o que pode ser se alguém por favor puder me dar uma ajuda eu agradeço...

Detalhes:

O código não funciona na parte da função FileValid.

Já tentei com Function e Sub.

Este arquivo é um include de um outro, que faz upload de outros 4 arquivos ao "mesmo tempo"!

 

Agradeço desde já.

Abaixo o código...

<%'@ EnableSessionState=False %>
<% 

'Option Explicit
' Variáveis de configuração
Const DIR_IMAGENS_G = "uploads"
Const DIR_IMAGENS_P = "uploads/grande"
Const QUALIDADE = 70


' Parâmetros
Dim xImagem, xWidth
		
xImagem = session("upload")
xWidth = "460"

' Proteção para evitar erros
If xImagem = "" Then xImagem = "foto.jpg"
If xWidth = 0 Then xWidth = 460


Response.ContentType = "application/x-msdownload"

' Flag para Controle de redimensionamento:
' -1 = erro, 0 = não faz nada, 1 = cria, 2 = atualiza
Dim flag

flag = -1

' Se o nome do arquivo é válido
nomeValid = FileValid(xImagem)
If nomeValid = True Then

			' Capturando informações da imagem GRANDE
Set oFM = Server.CreateObject("SoftArtisans.FileManager")
			Dim ImagemGrande
			Set ImagemGrande = oFM.GetFile("E:\vhosts\eufacoobem.org.br\httpdocs\uploads\grande\"& xImagem ) 
			response.write ImagemGrande
				' Capturando informações da imagem PEQUENA
			Dim ImagemPequena
			Set ImagemPequena = oFM.GetFile("E:\vhosts\eufacoobem.org.br\httpdocs\uploads\"& xImagem ) 



			
			' Se a imagem GRANDE tiver sido modificada
			If ImagemGrande.DateLastModified > ImagemPequena.DateLastModified Then
				
				' Iremos ATUALIZAR a imagem miniatura
				flag = 2
				
			Else
				
				' A imagem miniatura JÁ EXISTE
				flag = 0
				
			End If
			
			' Removendo objetos, liberando memória
			Set ImagemGrande = Nothing
			Set ImagemPequena = Nothing
			
		Else
			
			' Iremos CRIAR a imagem miniatura
			flag = 1
			
		End If
		
	

' Removendo objeto FileSystem
Set fs = Nothing

' Se ocorreu erro, encerrar programa
If flag = - 1 Then Response.End

' Se tenho que CRIAR ou ATUALIZAR a imagem
If flag > 0 Then
	
	' Criando objeto ASPJPEG
	Dim ASPJpeg
	Set ASPJpeg = Server.CreateObject("Persits.Jpeg")
	
	' Carregando imagem

	ASPJpeg.Open ( Server.MapPath(DIR_IMAGENS_G & "/" & imagem) )
	
	' Somente redimenciona se o width especificado for MENOR
	'If xWidth < ASPJpeg.OriginalWidth Then
		
		' Calculando altura proporcional
		Dim Altura
		Altura = Int(xWidth / ASPJpeg.OriginalWidth * ASPJpeg.OriginalHeight)
		
		' Redimensionando

			if ASPJpeg.Width > 460 then
			ASPJpeg.Width = 460
			ASPJpeg.Height = ASPJpeg.OriginalHeight * ASPJpeg.Width / ASPJpeg.OriginalWidth
			'ASPJpeg.Height = xHeight
			else
			
			ASPJpeg.Width = ASPJpeg.OriginalWidth
			ASPJpeg.Height = ASPJpeg.OriginalHeight
			end if


		
		'ASPJpeg.Width = xWidth
		'ASPJpeg.Height = Altura
		
		' Propriedades da Imagem
		ASPJpeg.Quality = QUALIDADE
		
		ASPJpeg.Save ("E:\vhosts\eufacoobem.org.br\httpdocs\uploads\grande\"& imagem) 
		
	'End If
	
	' Removendo objeto ASPJPEG
	Set ASPJpeg = Nothing
	
End If

Sub FileValid(nome) 

	' Culpado até que prove ao contrário :-)
	FileValid = False


	' Verifica por caracteres maliciosos
	If Not (InStr(nome,"/") > 0 Or InStr(nome,"\") > 0 Or InStr(nome,":") > 0 Or InStr(nome,"?") > 0 Or InStr(nome,"|") > 0 Or InStr(nome,"..") > 0) Then
		' O arquivo tem que ter pelo menos 5 caracteres. Ex: a.jpg
		If Len(nome) > 4 Then
		FileValid = True
		End If
	End If

End Sub

%>
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro gerado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o problema é justamente esse.

Não gera nenhum erro.

O problema é que ele faz o download da página ao invés de executa-la, sem erro algum...

Se eu jogar alguma instrução pra pegar o erro ele passa direto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc esta executando no server ou localhost ?

coloque o link para eu testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está rodando fora, na localweb.

 

Mas Consegui resolver de outra forma, retirei da página esta parte do código

Response.ContentType = "application/x-msdownload"

 

Já resolveu Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse ContentType força fazer o download realmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

1969215_697817860262013_932501858_n.jpg

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.