Scusami se insisto Roby, ma ho "elaborato" lo script precedente, questo mi permette di gestire il nome del file: il problema che a volte funziona a volte mi passa l'immagine anche se esiste sul server, e a volte mi da un errore alla riga 141, dicendomi che è impossibile trovare l'oggetto.
Potreste darci un'occhiata e vedere quello che non va???

codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>controlloVetrina</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript1.2" type="text/javascript">
function foto(vai){
if (window.confirm("E' già presente un file con lo stesso nome sostituire? \n ATTENZIONE: sostituendo il file tutte le foto con lo stesso nome verranno sostituite.")){
	return true;
	}
	else{
		history.back();
	}
	
}
	
</script>

</head>

<body >

      <%
if session("login") then

'Questa variabile setta il percorso di dove effettuare l'upolad
'la cartella non puo non esistere lo script non la crea ! ! !

percorso = "/precom/foto/"

'script per la lettura binaria dei cambi

ByteRicevuti = Request.TotalBytes

if ByteRicevuti > 0 then
	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
	For i = 1 To lenB(DatiRicevuti)
		FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
	Next
	FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
	ArrPezzi = split(FileBinario,FirmaFile)

	for item = 1 to ubound(ArrPezzi)-1
		Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
		Intestazione = left(ArrPezzi(item),Inizio-1)
		Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
	    	ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)

		' Recupero i campi se sono compilati
		
		if instr(Intestazione,"codice") > 0 then
			codice = ContenutoFile
		end if
		if instr(Intestazione,"nome") > 0 then
			nome = ContenutoFile
		end if
		if instr(Intestazione,"descrizione") > 0 then
			descrizione = ContenutoFile
		end if	
		if instr(Intestazione,"tipo") > 0 then
			tipo = ContenutoFile
		end if	
		if instr(Intestazione,"dispo") > 0 then
			dispo = ContenutoFile
		end if	
		if instr(Intestazione,"vetrina") > 0 then
			vetrina = ContenutoFile
		end if
		
			
		' Qui recupero il file da uploadare (se presente) foto1 
		if instr(Intestazione,"foto") > 0 then
		    i = instr(Intestazione,"filename=")
			j = instr(i + 10,Intestazione,chr(34))
			NomeUpload = mid(Intestazione,i + 10,j-i-10)
			i = instrRev(NomeUpload,"\")
			if i<>0 then
    		    NomeFile = mid(NomeUpload,i + 1)
    		else
    			NomeFile = NomeUpload
    		end if
      				
			'Qui ricavo l'estensione del file (se presente) per stabilire quale file passa e quale no, 
			' nel mio caso gif e jpeg se non è di questo tipo mi da l'alert e torna dietro
			if NomeFile > "" then
			dim arrParti
			arrParti=split(NomeFile,".")
			dim strEstensione
			strEstensione=arrParti(UBOUND(arrParti))

			Select Case strEstensione
				case "gif","jpeg","jpg"
		'controllo che il file non abbia lo stesso nome di quello presente nella cartella dell upload
				Set fso = CreateObject("Scripting.FileSystemObject") 
				Set folderObject = fso.GetFolder(Server.MapPath(percorso)) 
				Set filesObject = folderObject.Files  
					For Each file In filesObject 
						nomedelfile = fso.GetFileName(file)
						if nomedelfile = NomeFile then
							Response.write "<script language='javascript'>"
							Response.write "foto();"
							Response.write "</script>"
						end if
					next   
				' Scrivo il file sul server
				if i<>0 then
					Set FSO = CreateObject("Scripting.FileSystemObject")
					Upload1 = True
					DimensioneFile1 = len(ContenutoFile)
					'qui va inserito uno script che controlla il il peso dell'immagine
					EstensioneFile1 = right(ContenutoFile,3)
					foto = NomeFile
    				Set textStream = FSO.CreateTextFile(server.mappath(percorso & foto), True, False)
    				textStream.Write ContenutoFile
    				textStream.Close
    				Set textStream = Nothing
	   				Set FSO = Nothing
				  end if
			case else
				Response.Write "<script language='javascript'>" 
				response.write "alert('E necessrio inserire solo file di tipo .gif .jpeg .jpg o .bmp');"
				response.write "history.back();" 
				response.write "</script>"
			end select
	end if
	end if	
		next
end if		

'Qui controllo che non esista lo stesso codice nel db
	set connessione = server.CreateObject("ADODB.Connection")
	connessione.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & server.MapPath("/database/prodotti.mdb"))
	set rec = Server.CreateObject("ADODB.Recordset")
	set rec = connessione.execute("select * from prodotti1 where codice='"&codice&"'")
	'se non c è pocedi
	
	if rec.eof then
	
'Inserimento dati in db
rec = ("Insert into prodotti1 (categoria, codice, nome, foto, descrizione, disponibilita, vetrina) values ('"&tipo&"','"&codice&"','"&nome&"','"&foto&"','"&descrizione&"','"&dispo&"','"&vetrina&"')")

'controllo l esito del messaggio 
on Error Resume next
connessione.execute rec
if err = 0 then
rec.close
set rec = nothing
response.Redirect("descrizione.asp?codice="&codice)
risultato = "ok"
else
risultato = "ko"
response.Redirect("errore.htm")
end if
else
Response.Write("E' gia presente un articolo con lo stesso codice nel catalogo")
Response.Write("Torna indietro")
end if
else response.Redirect("login.asp")
end if
%>
</body>
</html>
Grazie, ciao.