Salve, nel mio sito ho una gestione di notizie che vengono inserite in un database access, le quali oltre a dei campi testo hanno degli allegati. Riassumo velocemente le funzioni:
1) l' inserimento è ok, inserisce senza dare errori facendo upload di file sul server;
2) la modifica di una notizia esistente è ok, non segnala errori;
3) l'eliminazione di una notizia esistente mi da il seguente errore:
Persits.Upload.1 error '800a003d'
Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.
/Pagine/Area_Riservata/notizie_DB.asp, line 189
La cosa strana è che il codice, pur dando quel messaggio di errore, fa il suo dovere! infatti se torno indietro alla pagina precedente e faccio un refresh della pagina, il record è stato eliminato. come faccio però ad ovviare a questo antipatico messaggio? C'è modo di intercettare l'errore e sorvolare?
riporto il codice:
<%
Set Upload = Server.CreateObject("Persits.Upload")
' ATTENZIONE, USARE IL LIMITE
'Upload.SetMaxSize 900000, True
'qui inizia la linea 189
Upload.Save(Server.MapPath("../../public/Allegati"))
'Count = Upload.Save
' Obtain file object
Set File1 = Upload.Files("ALLEGAT1")
Set File2 = Upload.Files("ALLEGAT2")
Set File3 = Upload.Files("ALLEGAT3")
Set File4 = Upload.Files("ALLEGAT4")
' Build ADO connection string
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/notizie.mdb")
' Use ADO Recordset object
Set rs = Server.CreateObject("adodb.recordset")
' RICEVE L'OPERAZIONE DA SVOLGERE (AGGIUNGERE/MODIFICARE concorsi)
operazione = trim(Upload.Form("azione"))
identificativo = trim(Upload.Form("azione"))
'operazione = Request.QueryString('azione')
IF operazione = "aggiungi" then
' DEVE AGGIUNGERE il concorso
rs.Open "SELECT * FROM notizie", Connect, 2, 3
rs.AddNew
else
' DEVE MODIFICARE IL CONCORSO
rs.Open "SELECT * FROM notizie WHERE id = " &identificativo, Connect, 2, 3
End IF
rs("data") = Upload.Form("DAT")
rs("tipo") = Server.HTMLEncode(Upload.Form("TIP"))
rs("titolo") = Server.HTMLEncode(Upload.Form("TITOL"))
rs("titoletto") = Replace(Server.HTMLEncode(Upload.Form("TITOLETT")),VbCrLf, "<br>")
rs("contenuto") = Replace(Server.HTMLEncode(Upload.Form("CONTENUT")),VbCrLf, "<br>")
'se è stato selezionato l'allegato 1
If Not File1 Is Nothing Then
rs("allegato1") = File1.FileName
End if
'se è stato selezionato l'allegato 2
If Not File2 Is Nothing Then
rs("allegato2") = File2.FileName
End if
'se è stato selezionato l'allegato 3
If Not File3 Is Nothing Then
rs("allegato3") = File3.FileName
End if
'se è stato selezionato l'allegato 4
If Not File4 Is Nothing Then
rs("allegato4") = File4.FileName
End if
rs.Update
Response.redirect "gestione_notizie.asp"
%>
Qualcuno mi sa dire se riesce a individuare l'errore o come posso fare per eliminare il record senza che mi compaia errore
1) l' inserimento è ok, inserisce senza dare errori facendo upload di file sul server;
2) la modifica di una notizia esistente è ok, non segnala errori;
3) l'eliminazione di una notizia esistente mi da il seguente errore:
Persits.Upload.1 error '800a003d'
Wrong Content-Type. Make sure you have included the attribute ENCTYPE="multipart/form-data" in your form.
/Pagine/Area_Riservata/notizie_DB.asp, line 189
La cosa strana è che il codice, pur dando quel messaggio di errore, fa il suo dovere! infatti se torno indietro alla pagina precedente e faccio un refresh della pagina, il record è stato eliminato. come faccio però ad ovviare a questo antipatico messaggio? C'è modo di intercettare l'errore e sorvolare?
riporto il codice:
<%
Set Upload = Server.CreateObject("Persits.Upload")
' ATTENZIONE, USARE IL LIMITE
'Upload.SetMaxSize 900000, True
'qui inizia la linea 189
Upload.Save(Server.MapPath("../../public/Allegati"))
'Count = Upload.Save
' Obtain file object
Set File1 = Upload.Files("ALLEGAT1")
Set File2 = Upload.Files("ALLEGAT2")
Set File3 = Upload.Files("ALLEGAT3")
Set File4 = Upload.Files("ALLEGAT4")
' Build ADO connection string
Connect = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/notizie.mdb")
' Use ADO Recordset object
Set rs = Server.CreateObject("adodb.recordset")
' RICEVE L'OPERAZIONE DA SVOLGERE (AGGIUNGERE/MODIFICARE concorsi)
operazione = trim(Upload.Form("azione"))
identificativo = trim(Upload.Form("azione"))
'operazione = Request.QueryString('azione')
IF operazione = "aggiungi" then
' DEVE AGGIUNGERE il concorso
rs.Open "SELECT * FROM notizie", Connect, 2, 3
rs.AddNew
else
' DEVE MODIFICARE IL CONCORSO
rs.Open "SELECT * FROM notizie WHERE id = " &identificativo, Connect, 2, 3
End IF
rs("data") = Upload.Form("DAT")
rs("tipo") = Server.HTMLEncode(Upload.Form("TIP"))
rs("titolo") = Server.HTMLEncode(Upload.Form("TITOL"))
rs("titoletto") = Replace(Server.HTMLEncode(Upload.Form("TITOLETT")),VbCrLf, "<br>")
rs("contenuto") = Replace(Server.HTMLEncode(Upload.Form("CONTENUT")),VbCrLf, "<br>")
'se è stato selezionato l'allegato 1
If Not File1 Is Nothing Then
rs("allegato1") = File1.FileName
End if
'se è stato selezionato l'allegato 2
If Not File2 Is Nothing Then
rs("allegato2") = File2.FileName
End if
'se è stato selezionato l'allegato 3
If Not File3 Is Nothing Then
rs("allegato3") = File3.FileName
End if
'se è stato selezionato l'allegato 4
If Not File4 Is Nothing Then
rs("allegato4") = File4.FileName
End if
rs.Update
Response.redirect "gestione_notizie.asp"
%>
Qualcuno mi sa dire se riesce a individuare l'errore o come posso fare per eliminare il record senza che mi compaia errore