Ir para conteúdo

POWERED BY:

Arquivado

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

muambus

Personalizar erro

Recommended Posts

Bom dia pessoal!

Gostaria de um help!!!

 

tenho um sistema de upload de imagens

adicionei um código para limitar i tamanho da imagem e o tipo do arquivo.

 

minha dúvida é a seguinte:

 

Posso gerar em cima desse código uma mensagem de erro tipo alert?

ou alguma outra?

 

o codigo é esse aqui:

 

<%
'--------------------------------------------------------------------------------------------------------------
'Criacao de Nome Unico
Dim NomeAleatorio
Function GerarNomeAleatorio(Valores)
Dim chr_Array(35)
chr_array(0) = "0"
chr_array(1) = "1"
chr_array(2) = "2"
chr_array(3) = "3"
chr_array(4) = "4"
chr_array(5) = "5"
chr_array(6) = "6"
chr_array(7) = "7"
chr_array(8) = "8"
chr_array(9) = "9"
chr_array(10) = "a"
chr_array(11) = "b"
chr_array(12) = "c"
chr_array(13) = "d"
chr_array(14) = "e"
chr_array(15) = "f"
chr_array(16) = "g"
chr_array(17) = "h"
chr_array(18) = "i"
chr_array(19) = "j"
chr_array(20) = "k"
chr_array(21) = "l"
chr_array(22) = "m"
chr_array(23) = "n"
chr_array(24) = "o"
chr_array(25) = "p"
chr_array(26) = "q"
chr_array(27) = "r"
chr_array(28) = "s"
chr_array(29) = "t"
chr_array(30) = "u"
chr_array(31) = "v"
chr_array(32) = "w"
chr_array(33) = "x"
chr_array(34) = "y"
chr_array(35) = "z"
Randomize
Do While Len(NomeAleatorio) < 30
Num = chr_array(Int(35 * Rnd ))
NomeAleatorio = NomeAleatorio + Num 
Loop 
GerarNomeAleatorio = NomeAleatorio
End Function
'--------------------------------------------------------------------------------------------------------------------
Class FileUploader
	Public  Files
	Private mcolFormElem

	Private Sub Class_Initialize()
		Set Files = Server.CreateObject("Scripting.Dictionary")
		Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
	End Sub
	
	Private Sub Class_Terminate()
		If IsObject(Files) Then
			Files.RemoveAll()
			Set Files = Nothing
		End If
		If IsObject(mcolFormElem) Then
			mcolFormElem.RemoveAll()
			Set mcolFormElem = Nothing
		End If
	End Sub

	Public Property Get Form(sIndex)
		Form = ""
		If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex))
	End Property

	Public Default Sub Upload()
		Dim biData, sInputName
		Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
		Dim nPosFile, nPosBound

		biData = Request.BinaryRead(Request.TotalBytes)
		nPosBegin = 1
		nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
		
		If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
		 
		vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
		nDataBoundPos = InstrB(1, biData, vDataBounds)
		
		Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--"))
			
			nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition"))
			nPos = InstrB(nPos, biData, CByteString("name="))
			nPosBegin = nPos + 6
			nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
			sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
			nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename="))
			nPosBound = InstrB(nPosEnd, biData, vDataBounds)
			
			If nPosFile <> 0 And  nPosFile < nPosBound Then
				Dim oUploadFile, sFileName
				Set oUploadFile = New UploadedFile
				
				nPosBegin = nPosFile + 10
				nPosEnd =  InstrB(nPosBegin, biData, CByteString(Chr(34)))
				sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
				oUploadFile.FileName = "{" & GerarNomeAleatorio(30) & "}_" & Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\"))

				nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
				nPosBegin = nPos + 14
				nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
				
				oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
				
				nPosBegin = nPosEnd+4
				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
				oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
				
				If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile
			Else
				nPos = InstrB(nPos, biData, CByteString(Chr(13)))
				nPosBegin = nPos + 4
				nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
				If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin))
			End If

			nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds)
		Loop
	End Sub

	Private Function CByteString(sString)
		Dim nIndex
		For nIndex = 1 to Len(sString)
		   CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
		Next
	End Function

	Private Function CWideString(bsString)
		Dim nIndex
		CWideString =""
		For nIndex = 1 to LenB(bsString)
		   CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) 
		Next
	End Function
End Class

Class UploadedFile
	Public ContentType
	Public FileName
	Public FileData
	
	Public Property Get FileSize()
		FileSize = LenB(FileData)
	End Property

	Public Sub SaveToDisk(sPath)
		Dim oFS, oFile
		Dim nIndex
	
		If sPath = "" Or FileName = "" Then Exit Sub
		If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
	
		Set oFS = Server.CreateObject("Scripting.FileSystemObject")
		If Not oFS.FolderExists(sPath) Then Exit Sub
	
'=============== ERRO==============
		permitido = "gif,jpg,png,jpeg,JPG,GIF,JPEG,PNG"
ext = right(sPath & FileName,3)

if Instr(1,permitido,ext) = 0 then
  Err.Raise 1,"Erro - Formato Inválido"
End if

if Lenb(FileData) > 400000 then
 Err.Raise 1, "O Tamanho do arquivo excedeu o máximo permitido"
End if
'=============== ERRO==============

Set oFile = oFS.CreateTextFile(sPath & FileName, True)
		

		For nIndex = 1 to LenB(FileData)
			oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
		Next

		oFile.Close
	End Sub
	
	Public Sub SaveToDatabase(ByRef oField)
		If LenB(FileData) = 0 Then Exit Sub
		
		If IsObject(oField) Then
			oField.AppendChunk FileData
		End If
	End Sub

End Class
%>

OBRIGADO DESDE JÁ!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

joga o On Error Resume Next nele e chama a função erro

 

aqui um exemplo:

http://www.criarweb.com/artigos/719.php

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.