- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- problema upload file
-
problema upload file
Ciao a tutti, ho un problema con uno script attraverso il quale dovrei consentire la "sostituzione" di un file attraverso upload (utilizzo lo script di Bao per upload).
Lo script che processa i dati è il seguente:
<% If Request.QueryString("Save")="1" then Dim oUpload Set oUpload = new cUpload oUpload.AutoRename = True oUpload.Overwrite = False oUpload.SetPath "/public/media/" 'Impostazione del PERCORSO della cartella delle IMMAGINI oUpload.Load While Not oUpload.EOF oUpload.Save() Select Case lCase(oUpload.Files("InputName")) Case "allegato" FileName_allegato = oUpload.GetFileName() End Select oUpload.MoveNext Wend Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/dbcamm.mdb") Set Rs=server.CreateObject("ADODB.Recordset") id = oUpload.Form("id") SQL = "SELECT * FROM media WHERE ID ="&id&"" Rs.Open SQL,Conn,3,3 Rs.update Rs("allegato") = RB_VDIR & "/media/" & FileName_allegato Rs.update Rs.Close Conn.Close Set Rs = Nothing Set Conn=Nothing Set oUpload = Nothing Response.Redirect("m_media.asp") End if %> ```Il form, presente nella stessa pagina, attraverso cui eseguo la scelta del nuovo file è il seguente:
<form action="?save=1" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input name="id" type="hidden" value="<%=Request.Form("id")%>" />
<input name="allegato" type="file" id="allegato" size="30" />
<input type="submit" name="Submit" value="Modifica" />
</form><a href="mod_media_img.asp?id=<%=rs("id")%>">allegato</a>
../mod_media_img.asp?id=5
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'ID ='.
/admin/mod_media_img.asp, line 36riga 36: SQL = "SELECT * FROM media WHERE ID ="&id&""
Ci sto sbattendo la testa da circa 2 giorni --> ho utilizzato lo stesso script per altri siti e funziona ma qui ci deve essere qualcosa di stupido che non funziona. Ringrazio chiunque abbia tempo e voglia di darmi una mano.
-
prova a scrivere
SQL = "SELECT * FROM media WHERE ID ="&id
invece di
SQL = "SELECT * FROM media WHERE ID ="&id&""Fammi sapere
-
ciao e grazie per la risposta....purtroppo ho già provato ma nulla da fare...
-
A me funziona... sicuro che il codice che hai postato è quello che ti da problemi ?
Io ho provato con :Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/dbcamm.mdb")
Set Rs=Server.CreateObject("ADODB.Recordset")
dim id : id = oUpload.Form("id")SQL = "SELECT * FROM media WHERE ID ="&id&"" Rs.Open SQL,Conn,3,3
Rs.update
Rs("allegato") = RB_VDIR & "/media/" & FileName_allegato
Rs.update
Rs.Close
Conn.Close
Set Rs = Nothing
Set Conn=Nothing
Set oUpload = Nothing
Response.Write("ok")l'unica cosa è che ho dichiarato la variabie id. Prova a fare un Response.Write di oUpload.Form("id") in questo modo
Response.Write(oUpload.Form("id")) forse non gli arriva nulla
-
mi dà questo errore
' ' error '80020009' /admin/mod_media_img.asp, line 24
la riga è:
Select Case lCase(oUpload.Files("InputName"))
-
la causa nn potrebbe essere il server su cui è hostato il sito???
la cosa strana è che lo stesso script che ho postato lo utilizzo per altri siti hostati su aruba e funziona perfettamente con l'unica differenza che negli altri faccio l'upload di più file e qui invece di uno solo...
-
beh questo è un'atro problema, forse hai copiato male
-
ho fatto copia & incolla
-
Sostituisci la riga seguente:
Select Case lCase(oUpload.Files("InputName"))
Con
Select Case lCase(oUpload.Files("allegato"))