Innanzitutto Buon Giorno a tutti!!! Sono in cerca di aiuto ed ogni soluzione è ben accetta!!!
Sono Arcangelo da Reggio Calabria.
Premettendo che è da circa un anno che mi son dato all'ASP, mi hanno chiesto di effettuare alcune modifiche su un sito già fatto (aggiungerei da una persona incompetente).
Premetto che la mia richiesta di poterlo rifare da capo a mio modo, non è stata accolta, di conseguenza DEVO risolvere il problema.
Fra le tante cose che questo sito gestisce, vi è una vetrina di Auto usate.
Il suo funzionamento è il seguente:
File: downloadadmin.asp nel quale vi sono tutti gli input (informazioni testuali e foto)
DB in Access
File: upload.asp che si occupa della connessione al DB, la conversione da string a byte, ecc... (ma credo che questo sia irrilevante per il problema)
File: cat_auto.asp che è il file che mostra a video le informazioni uploadate.
Il problema da risolvere è che l'ADMIN (perchè è solo dal lato ADMIN) debba poter uploadare 3 foto.
Lo script utilizzato dalla persona che ha creato il sito, è stato copiato e schiaffato lì, ma dava la possibilità di uploadare una sola foto e basta.
Ho agito in questo modo:
- Nel file downloadadmin, ho aggiunto altri 2 Input type:
<tr>
<td><b>Seleziona immagine:</b></td>
<td><input type="file" name="txtFile" style="font-family: Verdana; font-size: 8pt" /></td>
</tr>
- Nel DB ho aggiunto i campi per contenere le altre due foto:
percorso (public/files/)
dimimage (che già c'erano)
percorsodue (public/files/due/)
dimimagedue
percorsotre (public/files/tre/)
diimagetre
- Nel file cat_auto:
Ho modificato l'anteprima dell'immagine di with:"150"
con 3 piccole da with:"50" (così non si sfora nemmeno come dimensioni)
Alla fine funziona tutto correttamente, ma resta un PICCOLO PROBLEMA!!!
Quando su cat_auto compaiono le informazioni, i campi testuali sono corretti, le immagini appaiono tutte e tre, ma SONO UGUALI!!!
Analizzando credo che il problema sia questo ciclo:
For Each File In Uploader.Files.Items
File.SaveToDisk Server.MapPath("public/files")
File.SaveToDisk Server.MapPath("public/files/due")
File.SaveToDisk Server.MapPath("public/files/tre")
numSize = File.FileSize
numSizedue = File.FileSize
numSizetre = File.FileSize
strURL = "/public/files/" & File.FileName
strURLdue = "/public/files/due/" & File.FileName
strURLtre = "/public/files/tre/" & File.FileName
strSQL = "INSERT INTO tbl_downloads (nome, modello, annoimm, mar_id, cilindrata, descrizione, percorso, percorsodue, percorsotre, dimensioni, dimensionidue, dimensionitre, data, colore, carburante, chilometri, cambio)VALUES('" & strAuto & "','" & strModello & "','" & strAnno & "','" & strMarca & "','" & strCilindrata & "','" & strDescription & "','" & strURL & "','" & strURLdue & "','" & strURLtre & "','" & numSize & "','" & numSizedue & "','" & numSizetre & "','" & strData & "','" & strColore & "','" & strCarburante & "','" & strChilometri & "','" & strCambio & "')"
adoCon.Execute(strSQL)
Next
Che cosa fa, praticamente, prende in input le 3 immagini, ne crea tre copie per ognuno, ma quando va a ripescarle per metterle su cat_auto.asp, non prende una per ogni immagine diversa. Prende le ultime 3 copie dell'ultima immagine che ho uploadato.
Ho la riga con le informazioni e come immagini ho:
macchina1.jpg presa da percorso
macchina1.jpg presa da percorsodue
macchina1.jpg presa da percorsotre
Il ciclo originale (quello per singolo file) è questo:
For Each File In Uploader.Files.Items
File.SaveToDisk Server.MapPath("public/files")
numSize = File.FileSize
strURL = "/public/files/" & File.FileName
strSQL = "INSERT INTO tbl_downloads (nome, modello, annoimm, mar_id, cilindrata, descrizione, percorso, dimensioni, data, colore, carburante, chilometri, cambio)VALUES('" & strAuto & "','" & strModello & "','" & strAnno & "','" & strMarca & "','" & strCilindrata & "','" & strDescription & "','" & strURL & "','" & numSize & "','" & strData & "','" & strColore & "','" & strCarburante & "','" & strChilometri & "','" & strCambio & "')"
adoCon.Execute(strSQL)
Next
Vi prego aiutatemi!!!
Ho agito bene? ho speranze :-) ???
Attendo un vostro piccolo AIUTO!!!
GRAZIE!!!