Problema com Função em Asp Classico. VBScript
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
%>
Discussão (7)
Carregando comentários...