uso il modulo qui sotto per caricare files e va bene ma ora vorrei limitare il tipo di files alle solo immagini ( .jpg .jpeg .png .gif)!!!
come faccio a fare in modo che se carico un file con estensione diversa da quelle volute esca un messaggio di errore o venga reindirizzato ad una pagina di errore???
ovviamente anche l'upload deve essere impedito!



<%

''''''''''''''''''''''''''''''''''' INIZIO CONFIGURAZIONE:

Dim folder 'directory sul server con accesso in scrittura (x caricare il file)
folder = "\public\opere\temp"
'folder = "../../public/opere" 'directory sul server con accesso in scrittura

Dim cartellaImmagini 'directory sul server con accesso in scrittura (x rinominare il file

cartellaImmagini = "e:\web\nomesito.com\public\opere\" ' Percorso x rinominare le immagini
cartellaImmaginiTemp = "e:\web\nomesito.com\public\opere\temp\" ' Percorso x rinominare le immagini

''''''''''''''''''''''''''''''''''' FINE CONFIGURAZIONE:


Response.Expires=0
Response.Buffer = TRUE
Response.Clear

Sub BuildUploadRequest(RequestBin)
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'Get an object name
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Conte nt-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filen ame="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
If PosFile<>0 AND (PosFile<PosBound) Then
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
UploadControl.Add "Value" , Value
UploadRequest.Add name, UploadControl
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),Requ estBin,boundary)
Loop
End Sub
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")
ultimo_id=UploadRequest.Item("ultimo_id").Item("Va lue")
img=UploadRequest.Item("img").Item("Value")

'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

'Create and Write to a File
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder) &"\"&filename)

For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next

MyFile.Close
%>


<%

stringa = filename
valori = Split(stringa,".")
nome = valori(0)
estensione = valori(1)

%>


<%

if img = "" then

' Rinomino l'immagine sul server
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Fso.moveFile cartellaImmaginiTemp & filename , cartellaImmagini & ultimo_id& "." & estensione
Set Fso = Nothing

else

' Rinomino l'immagine sul server
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Fso.moveFile cartellaImmaginiTemp & filename , cartellaImmagini & ultimo_id & "-" & img & "." & estensione
Set Fso = Nothing

end if

%>