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 cod
Dim val
Dim username
Dim FileObject
Dim objFile
' VERIFICHIAMO SE L'UTENTE E' IDENTIFICATO (LOGGATO)
IF Session("Loggato") = False and Session("Username") = "" then
' UTENTE NON LOGGATO
' (SESSION "LOGGATO" = FALSE E LA SESSION "USERNAME" NON HA NESSUN VALORE)
' PORTA L'UTENTE NELLA PAGINA LOGIN.ASP
' PER FARLO IDENTIFICARE
Response.Redirect "animazione/login.asp"
End IF
' //// Directory dove verrà caricato il file (la cartella deve avere i permessi in scrittura)
cod=request.querystring("cod")
val=request.querystring("val")
username = Session("username")
folder = "Archivi/"&username&"/"&val&""
' Response.write(folder)
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
' //// riempio le variabili con valori proveninti dalla form
titolo_file = UploadRequest.Item("titolo_file").Item("Value")
nome_file = UploadRequest.Item("nome_file").Item("Value")
' //// controllo che la form sia state regolarmente popolata
If IsNull(nome_file) OR nome_file = "" OR IsNull(titolo_file) OR titolo_file = "" Then
Response.Write ("<center>
CAMPI OBBLIGATORI!
RITORNA</center>")
Response.End
End if
Set objFile = Server.CreateObject ("Scripting.FileSystemObject")
If objFile.FileExists (Server.MapPath(nome_file)) Then
Response.Write "Il file esiste!"
End If
Set objFile = Nothing
' //// connessione al DB
'Set Conn=Server.CreateObject("ADODB.Connection")
' Conn.Open "PROVIDER=MSDASQL;" & _
' "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
' "DBQ=" & server.mappath("/mdb-database/database.mdb")
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.MapPath("mdb-database/aziende.mdb")
' //// 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
' //// seleziono la tabella dove scrivero l'ora, il titolo ed il nome del file
Sql = "Select * FROM upload"
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open SQL, Conn, 1, 2
' //// aggiugo un nuovo record alla tabella
Rs.AddNew
Rs("data") = date()
Rs("titolo_file") = titolo_file
Rs("nome_file") = filename
Rs("azienda") = val
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
dim myurl
myurl = "animazione/gestione/upindex.asp?"
myurl =myurl & "cod=" & cod
myurl =myurl & "&val=" & val
Response.redirect(myurl)
%>
ora dove e come posso secondo voi collocare