Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: errore durante upload

  1. #1

    errore durante upload

    Si dice che chi fa da se fa per tre...
    Speriamo......

    dopo che sono impazzito mi sono messo di impegno ed ho cercato di risolvere il mio problema da solo rifacendo tutto dall'inizio......

    adesso mi da un solo piccolo problema: ( PENSO PICCOLO)

    codice:
    Microsoft VBScript runtime error '800a01f4' 
    
    Variable is undefined: 'name' 
    
    /public/add_process.asp, line 15

    ecco il codice:

    add.asp

    codice:
    <html>
    <head>
    <title> DataBase di immagini </title></head><body>
    
    	<form method="post" action="add_process.asp" enctype="multipart/form-data">
    	<tr>
    		
        <td colspan=2> 
    
    Nome 
    
            <input type="text" name="name" value="nome" size="20">
          </p>
          
    
     Cognome
    
            <input name="cognome" type="text" id="cognome" value="cognome" size="20">
          </p>
          
    
     Inserisci immagine
    
            <input type="file" name="path" size="20">
            </p>
          
    
    
    <input type="submit" value="Salva">
            <input name="submit" type="reset" value="Cancella">
          </p></td>
    	</tr>
    	</form>
    </table>
    </body>
    </html>

    add_process.asp

    codice:
    <%
    option explicit
    %>
    <%
    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    											"Persist Security Info=False;"&_
    											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()
    
    ' rileva nome cognome e percorso dell'immagine
    
    dim nome, cognome, path
    name = replace(request.form("nome"), "'", "''")   
    cognome = replace(request.form("cognome"), "'", "''")
    path = replace(request.form("path"), "'", "''")
    
    ' effettua l'inserimento nel database
    
    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&name&"', '"&path&"')"
    cn.execute(sql)
    
    ' libera le risorse
    
    cn.close()
    set cn = nothing
    %>

    IN ROSSO LA RIGA INCRIMINATA
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    prima usi nOme e poi nAme
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    tutti gli errori di sintassi o dimenticanza risolti posto codice esatto:

    add.asp:

    codice:
    <html>
    <head>
    <title> DataBase di immagini </title></head><body>
    
    	<form method="post" action="add_process.asp" enctype="multipart/form-data">
    	<tr>
    		
        <td colspan=2> 
    
    Nome 
    
            <input type="text" name="nome" value="nome" size="20">
          </p>
          
    
     Cognome
    
            <input name="cognome" type="text" id="cognome" value="cognome" size="20">
          </p>
          
    
     Inserisci immagine
    
            <input type="file" name="path" size="20">
            </p>
          
    
    
    <input type="submit" value="Salva">
            <input name="submit" type="reset" value="Cancella">
          </p></td>
    	</tr>
    	</form>
    </table>
    </body>
    </html>

    add_process:
    codice:
    <%
    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    											"Persist Security Info=False;"&_
    											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()
    
    ' rileva nome cognome e percorso dell'immagine
    
    dim nome, cognome, path
    nome = replace(request.form("nome"), "'", "''")
    cognome = replace(request.form("cognome"), "'", "''")
    path = replace(request.form("path"), "'", "''")
    
    response.Write(nome)
    response.Write(" - ")
    response.Write(cognome)
    response.Write(" - ")
    response.Write(path)
    response.Write(" - ")
    ' effettua l'inserimento nel database
    
    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
    cn.execute(sql)
    
    ' libera le risorse
    
    cn.close()
    set cn = nothing
    %>
    Adesso ho un problema e un dubbio:

    il problema:

    codice:
    - - - 
    Microsoft JET Database Engine error '80004005' 
    
    Field 'schede.image_path' cannot be a zero-length string. 
    
    /public/add_process.asp, line 28
    il dubbio:

    ma lo fa l'upload del file???????
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  4. #4
    L'upload non te lo fa perchè nel codice ASP non richiami nessun oggetto, nessuna classe che faccia l'upload.

    Il problema esiste perchè le variabili che leggi dal form non sono valorizzate, perchè l'oggetto request è come se sparisse.

  5. #5
    giustissimo.
    faccio ultimo tentativo e poi ne riparliamo domani.

    Ho aggiunto la parte dell'upload copiandolo da un altro script ma il problema rimane che non passa nulla ne nome ne cognome ne il path dell'immagine, quindi non puo salvare nulla nel db nè tantomeno fare upload.
    Ti posto il codice dove sbaglio????
    che fine fanno i request.form di nome cognome ecc....


    codice:
    <%
    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    											"Persist Security Info=False;"&_
    											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()
    
    ' rileva nome cognome e percorso dell'immagine
    
    dim nome, cognome, path
    nome = replace(request.form("nome"), "'", "''")
    cognome = replace(request.form("cognome"), "'", "''")
    path = replace(request.form("path"), "'", "''")
    
    response.Write(nome)
    response.Write(" - ")
    response.Write(cognome)
    response.Write(" - ")
    response.Write(path)
    response.Write(" - ")
    ' effettua l'inserimento nel database
    
    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
    cn.execute(sql)
    
    ' libera le risorse
    
    cn.close()
    set cn = nothing
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Upload del file						 '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'variabili di configurazione
    Dim folder
    folder = "\public"				'directory sul server con accesso in scrittura
    'fine variabili di 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("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
    
    contentType = UploadRequest.Item("path").Item("ContentType")
    filepathname = UploadRequest.Item("path").Item("FileName")
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    value = UploadRequest.Item("path").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
    %>
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  6. #6
    Quando fai upload, la prima cosa che devi fare è l'upload appunto poi fai il resto, e al posto dell'oggetto request usare l'oggetto UplaodRequest :

    codice:
    <%
    
     ''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''
    'Upload del file						 '
     ''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''
    'variabili di configurazione
    Dim folder
    folder = "\public"				'directory sul server con accesso in scrittura
    'fine variabili di configurazione
    
    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear
    
    Sub BuildUploadRequest(RequestBin)
    	PosBeg = 1
    	PosEnd =  InstrB(PosBeg,RequestBin,getByteString(c
    hr(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,getByteStr
    ing("Content-Disposition"))
    		Pos = InstrB(Pos,RequestBin,getByteString("name="))
    		PosBeg = Pos+6
    		PosEnd =  InstrB(PosBeg,RequestBin,getByteString(c
    hr(34)))
    		Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    		PosFile =  InstrB(BoundaryPos,RequestBin,getByteStr
    ing("filename="))
    		PosBound = InstrB(PosEnd,RequestBin,boundary)
    			If  PosFile<>0 AND (PosFile<PosBound) Then
    			PosBeg = PosFile + 10
    			PosEnd =   InstrB(PosBeg,RequestBin,getByteString(c
    hr(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(c
    hr(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(bo
    undary),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
    
    contentType = UploadRequest.Item("path").Item("ContentType")
    filepathname = UploadRequest.Item("path").Item("FileName")
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    value = UploadRequest.Item("path").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
    
    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    											"Persist Security Info=False;"&_
    											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()
    
    ' rileva nome cognome e percorso dell'immagine
    
    dim nome, cognome, path
    nome = replace(UploadRequest.Item("nome"), "'", "''")
    cognome = replace(UploadRequest.Item("cognome"), "'", "''")
    path = replace(UploadRequest.Item("path"), "'", "''")
    
    response.Write(nome)
    response.Write(" - ")
    response.Write(cognome)
    response.Write(" - ")
    response.Write(path)
    response.Write(" - ")
    ' effettua l'inserimento nel database
    
    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
    cn.execute(sql)
    
    ' libera le risorse
    
    cn.close()
    set cn = nothing
    %>

  7. #7
    l'upload lo fa e trasferisce il file ma non salva i dati (nome cognome e path )nel database e mi da questo errore:

    codice:
    Microsoft VBScript runtime error '800a01c2' 
    
    Wrong number of arguments or invalid property assignment 
    
    /public/add_process.asp, line 102
    riferito a queste righe

    codice:
    dim nome, cognome, path
    nome = replace(UploadRequest.Item("nome"), "'", "''")
    cognome = replace(UploadRequest.Item("cognome"), "'", "''")
    path = replace(UploadRequest.Item("path"), "'", "''")
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  8. #8
    Provalo così ma non sò se funziona

    codice:
    <%
    
      ''''''''''''''''''''''''''''''''''''''''
    
    ''''''''''''''''''''''''''''''
    'Upload del file						 '
      ''''''''''''''''''''''''''''''''''''''''
    
    ''''''''''''''''''''''''''''''
    'variabili di configurazione
    Dim folder
    folder = "\public"				'directory sul server con accesso in scrittura
    'fine variabili di configurazione
    
    Response.Expires=0
    Response.Buffer = TRUE
    Response.Clear
    
    Sub BuildUploadRequest(RequestBin)
    	PosBeg = 1
    	PosEnd =   InstrB(PosBeg,RequestBin,getByteString(c
    
    hr(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,getByteStr
    
    ing("Content-Disposition"))
    		Pos = InstrB(Pos,RequestBin,getByteString("name="))
    		PosBeg = Pos+6
    		PosEnd =   InstrB(PosBeg,RequestBin,getByteString(c
    
    hr(34)))
    		Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
    		PosFile =   InstrB(BoundaryPos,RequestBin,getByteStr
    
    ing("filename="))
    		PosBound = InstrB(PosEnd,RequestBin,boundary)
    			If  PosFile<>0 AND (PosFile<PosBound) Then
    			PosBeg = PosFile + 10
    			PosEnd =    InstrB(PosBeg,RequestBin,getByteString(c
    
    hr(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(c
    
    hr(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(bo
    
    undary),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
    
    contentType = UploadRequest.Item("path").Item("ContentType")
    filepathname = UploadRequest.Item("path").Item("FileName")
    filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    value = UploadRequest.Item("path").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
    
    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    											"Persist Security Info=False;"&_
    											"Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()
    
    ' rileva nome cognome e percorso dell'immagine
    
    dim nome, cognome, path
    nome = replace(Request("nome"), "'", "''")
    cognome = replace(Request("cognome"), "'", "''")
    path = replace(filepathname , "'", "''")
    
    response.Write(nome)
    response.Write(" - ")
    response.Write(cognome)
    response.Write(" - ")
    response.Write(path)
    response.Write(" - ")
    ' effettua l'inserimento nel database
    
    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
    cn.execute(sql)
    
    ' libera le risorse
    
    cn.close()
    set cn = nothing
    %>

  9. #9
    non funzionaaaaaaaaaa neanche cosi'

    me lo sento sara' una cavolataaaaaaaaaa ma non riesco a capire dov'è l'errore.

    come posso fare a recuperare i valori della form ( cognome nome path
    ) per salvali nel db????????
    ..: Serie A :..
    ..: FORZA PALERMOOOOoooo.....

  10. #10
    Ti posto un esempio fatto con una mia classe ... quella che usi la vedo complicata.


    Class FileUpload

    Private n_ByteCount
    Dim UploadRequest
    Private Folder

    Public Property Get ByteCount
    ByteCount=n_ByteCount
    end Property

    Public Property Get Form (ItemID)

    if UploadRequest.Exists(lcase(ItemID)) then
    Form = UploadRequest.Item(lcase(ItemID)).Item("Value")
    else
    Form=""
    end if

    end Property

    Public Property Let Path(value)
    Folder=value
    end Property

    Public Property Get Path
    Path =Folder
    end Property

    Public Property Get ContentType(ItemID)
    contentType = UploadRequest.Item(lcase(ItemID)).Item("ContentTyp e")
    end Property

    Public Property Get Filename (ItemID)

    if UploadRequest.Exists(lcase(ItemID)) then
    filepathname = UploadRequest.Item(lcase(ItemID)).Item("FileName")
    ReturnValue=Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
    Filename=ReturnValue
    else
    filename=""
    end if
    end Property

    Public sub SaveAs(ItemID,p_Filename)
    if UploadRequest.Exists(lcase(ItemID)) then
    if (p_Filename="" or isnull(p_Filename)) then str_filename = Filename(ItemID) else str_filename=p_Filename

    value = UploadRequest.Item(lcase(ItemID)).Item("Value")

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

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

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

    MyFile.Close

    Set ScriptObject =nothing
    Set MyFile = nothing
    end if

    end sub


    Private 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 = lcase(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)))
    strFileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

    UploadControl.Add "FileName", strFileName
    Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
    PosBeg = Pos+14
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    strContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))

    UploadControl.Add "ContentType",strContentType
    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

    if UploadRequest.Exists(name) then
    UploadRequest.Item(name).item("Value")=UploadReque st.Item(name).item("Value") & ", " & Value
    else
    UploadControl.Add "Value" , Value
    UploadRequest.Add name, UploadControl
    end if
    BoundaryPos=InstrB(BoundaryPos+LenB(boundary),Requ estBin,boundary)
    Loop

    End Sub


    Private Function getByteString(StringStr)
    For i = 1 to Len(StringStr)
    char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
    Next
    End Function


    Private Function getString(StringBin)
    getString =""
    For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
    Next
    End Function




    Private Sub Class_Initialize

    Dim RequestBin

    n_byteCount = Request.TotalBytes
    RequestBin = Request.BinaryRead(n_byteCount)

    Set UploadRequest = CreateObject("Scripting.Dictionary")
    BuildUploadRequest RequestBin

    end sub


    Private Sub Class_Terminate
    Set UploadRequest=nothing

    End Sub

    end class


    '//Eseguo l'upload dei file
    set objUpload = new FileUpload

    folder= "/public"

    filename = Right(objUpload.Form("path"),Len(objUpload.Form("p ath"))-InstrRev(objUpload.Form("path"),"\"))


    '//Impostazione percorso di salvataggio
    objUpload.Path = Server.mappath(folder)
    '//Salvo i file
    objUpload.SaveAs "path", filename



    dim cn, sql
    set cn = Server.CreateObject("ADODB.Connection")
    cn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;"&_
    "Persist Security Info=False;"&_
    "Data Source="& Server.MapPath("/mdb-database/db_utenti.mdb")
    cn.open()

    ' rileva nome cognome e percorso dell'immagine

    dim nome, cognome, path
    nome = replace(objUpload.Form("nome"), "'", "''")
    cognome = replace(objUpload.Form("cognome"), "'", "''")
    path = replace(filename , "'", "''")

    response.Write(nome)
    response.Write(" - ")
    response.Write(cognome)
    response.Write(" - ")
    response.Write(path)
    response.Write(" - ")
    ' effettua l'inserimento nel database

    sql = "INSERT INTO schede(cognome, nome, image_path) VALUES( '"&cognome&"','"&nome&"', '"&path&"')"
    cn.execute(sql)

    ' libera le risorse

    cn.close()
    set cn = nothing

    set objUpload = nothing

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.