Salve, sto utilizzando la classe Baol74 per l'upload di immagini sul server e nel DB Access.
Se nel form inserisco solo un campo per l'inserimento dell'immagine funziona, se invece aggiungo altr'i campi per l'inserimento delle immagini mi duplica i record nel Db per quanti sono i campi immagine:
Nell'esempio qui sotto ci sono solo 2 campi immagine PFoto e PFoto2 mi inserisce due record nella tabella annunci del DB!
Ho il seguente form (dal quale inserisco dei campi testo e due campi immagine per il momento):
codice:
<form name="f" action="add_record.asp" method="post" enctype="multipart/form-data">
<input type="text" class="form-control" name="titolo" id="titolo" placeholder="Titolo" value="" /><br>
<INPUT TYPE="file"class="form-control" name="PFoto" id="PFoto" placeholder="Percorso foto"><br>
<textarea name="annuncio" cols="30" rows="10" id="annuncio" class="form-control" placeholder="Annuncio"></textarea><br>
<INPUT TYPE="file"class="form-control" name="PFoto2" id="PFoto2" placeholder="Percorso foto 2">
<div class="spacer"></div>
<p><input type="submit" name="submit_job" class="btn btn-primary" value="Inserisci Annuncio" /></p>
</form>
il file per l'upload dei file e l'inserimento dei dati nel db è il seguente:
codice:
<!--#include file="upload.asp"-->
<%
Dim oUpload
Set oUpload= new cUpload
With oUpload
'La riga seguente impoosta la connessione al database e la tabella di inserimento dati
'La connesione e la tabella verranno aperti con il metodo oUpload.Database.Open()
.SetDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("/mdb-database/news.mdb"),"SELECT Top 1 * FROM annunci"
.EnabledAspUpload = False
.EnabledImageSize = False
.EnabledLog = False
.AutoRename = True
.Overwrite = False
.SetPath "\public\"
.Load
.MoveFirst
if .EOF then
NumFiles = .Count()
Response.write "0 Files caricati su " & NumFiles &" : controlla le dimensioni e il tipo di file."
else
.Database.Open()
While Not .EOF
.Save
response.Write "il file " & .GetFileName &" è stato salvato <br>"
'Inserimento dei valori
.Database.Fields("titolo") = .Form("titolo")
.Database.Fields("annuncio") = .Form("annuncio")
.Database.Fields("PFoto") = .GetFileName
.Database.Fields("PFoto2") = .GetFileName
'Inserimento
.Database.AddNew()
.MoveNext
Wend
end if
End With
Set oUpload = Nothing
Response.Redirect "annuncio.asp"
%>
Come posso risolvere il problema?
Grazie