codice:
<%
' //// dichiarazione delle variabili obbligatoria
option explicit
' //// dichiaro le variabili
Dim folder
Dim titolo_file
Dim nom_file
Dim byteCount
Dim RequestBin
Dim PosBeg
Dim i
Dim char
Dim PosEnd
Dim boundary
Dim boundaryPos
Dim Pos
Dim intCount
Dim Name
Dim PosFile
Dim PosBound
Dim Value
Dim FileName
Dim ContentType
Dim nome_file
Dim Conn
Dim filepathname
Dim ScriptObject
Dim MyFile
Dim Sql
Dim Rs
Dim cognome
Dim nome
Dim strumento
' //// Directory dove verrà caricato il file (la cartella deve avere i permessi in scrittura)
folder = ("/public/foto/insegnanti")
' ////// Inizio Componente Upload (prelevato su www.AspCode.it)
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("Content-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("filename="))
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),RequestBin,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
' //// Fine Componente Upload
%>
<h1>Inserisci insegnante</h1>
<%
' //// riempio le variabili con valori proveninti dalla form
nome_file = UploadRequest.Item("nome_file").Item("Value")
cognome = UploadRequest.Item("Cognome").Item("Value")
nome = UploadRequest.Item("Nome").Item("Value")
strumento = UploadRequest.Item("Strumento").Item("Value")
' CONTROLLA SE TUTTI I CAMPI SONO STATI COMPILATI
IF cognome="" or nome="" or strumento="" then
' CAMPI NON COMPILATI!
%>
</p>
<p align="center">Dati non inseriti correttamente...</p>
<p align="center"></p>
<p align="center">Riprova</p>
</p>
<%
Else
' CAMPI COMPILATI
' //// connessione al DB
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/mdb-database/VivaceDB.mdb")
SQL = "SELECT * FROM Insegnanti"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open SQL, Conn, 1, 2
' //// aggiugo un nuovo record alla tabella
Rs.AddNew
Rs("Cognome") = UploadRequest.Item("Cognome").Item("Value")
Rs("Nome") = UploadRequest.Item("Nome").Item("Value")
Rs("Strumento") = UploadRequest.Item("Strumento").Item("Value")
Rs("Formazione") = Replace(Replace((UploadRequest.Item("Formazione").Item("Value")), chr(13), "
"), "'", "′")
Rs("EsperienzeDidattiche") = Replace(Replace((UploadRequest.Item("EsperienzeDidattiche").Item("Value")), chr(13), "
"), "'", "′")
Rs("EsperienzeArtistiche") = Replace(Replace((UploadRequest.Item("EsperienzeArtistiche").Item("Value")), chr(13), "
"), "'", "′")
Rs("Altro") = Replace(Replace((UploadRequest.Item("Altro").Item("Value")), chr(13), "
"), "'", "′")
Rs("Fotografia") = False
' //// controllo se caricare fotografia
If not IsNull(nome_file) OR nome_file <> "" Then
' //// Inserimento immagine INIZIO
' //// creo il file nella folder
if UploadRequest.Item("nome_file").Item("FileName")="" then
Else
contentType = UploadRequest.Item("nome_file").Item("ContentType")
filepathname = UploadRequest.Item("nome_file").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("nome_file").Item("Value")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
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
End if
' //// Inserimento immagine FINE
Rs("nome_file") = filename
Rs("Fotografia") = True
Else
Rs("nome_file") = ""
End if
Rs.UpDate
' //// chiudo il record set e libero le risorse
Rs.Close
Set Rs = Nothing
' //// chiudo la connessione e libero le risorse
Conn.Close
Set Conn = Nothing
' //// carico la pagina di risposta e stampo a video il link al file caricato
Response.Redirect("/gestione/insegnanti/vedi_insegnanti.asp")
End If 'CAMPI COMPILATI
%>
Mi viene dato il seguente errore: