Ho questo form:
Tramite il form vengono raccolti dei dati da inserire in un DB.codice:<html> <head> <title>Untitled Document</title> </head> <body> <form method="post" action="inserimento.asp"> <table width="100%" border="1" align="center"> <tr> <td width="25%">Nome:</td> <td><input name="nome" size="50" maxlength="50"></td> </tr> <tr> <td width="25%">Descrizione:</td> <td><textarea name="descrizione" rows="4" cols="44"></textarea></td> </tr> <tr> <td>Immagine:</td> <td>Carica file </td> </tr> <tr> <td>Stato</td> <td> <select name="stato"> <option value="0">NON ATTIVO <option value="1">ATTIVO </select> </td> </tr> <tr> <td colspan="2" align="center"><input name="submit" type="submit" value="Aggiungi"> <input name="Aggiungi" value="1" type="hidden"></td> </tr> </table> </form> </body> </html>
Il link evidenziato in rosso mi apre una pagina, carica.asp, che mi serve per fare l'upload di un file.
Questo è il codice di carica.asp
L'action del form di carica.asp porta a upload.asp:codice:<html> <head> <title>Carica file</title> </head> <body onLoad="window.focus();"> <form method="POST" enctype="multipart/form-data" action="upload.asp"> File: <input type="file" name="file" size="20"> <input type="submit" name="Enter" value="Upload" onClick="value='Attendere: caricamento del file in corso';"> </form> </body> </html>
Il file esegui.asp serve per caricare il file sul server.codice:<%@ Language= VBScript %> <html> <head> <title>Titolo pagina</title> <% ' Imposta il tempo max di esecuzione dello script (espresso in millisecondi) Server.ScriptTimeout = 100000 Response.Expires=0 Response.Buffer = TRUE Response.Clear 'impostazioni variabili byteCount = Request.TotalBytes RequestBin = Request.BinaryRead(byteCount) Set UploadRequest = CreateObject("Scripting.Dictionary") BuildUploadRequest RequestBin 'individua il tipo di file che si cerca di fare l upload contentType = UploadRequest.Item("file").Item("ContentType") 'intero percorso del file filepathname = UploadRequest.Item("file").Item("FileName") '****************************** CONTROLLI IMMAGINE 'controllo tipo immagine tipo = Right(filepathname,Len(filepathname)-InstrRev(filepathname,".")) 'cambiare la scrita zip e gz qui sotto per inserire la sigla di un altro tipo di file 'Se si vuole permettere l'upload di qualsiasi tipo di file cancellare o commentare 'le successive 4 linee di codice e l'ultimo END IF della pagina upload.asp 'If tipo <> "zip" AND tipo <> "gz" then 'Response.Write ("Errore Upload. Non è possibile fare upload di un file ." & tipo) 'Response.End 'else ' calcolo del peso della immagine 'imposta qui, il peso max. 9000 vuol dire 9 Kb circa IF byteCount > 200000 THEN Response.Write ("Errore Upload. File troppo grande!") Response.End else '*********************************** NOME FINALE DEL FILE e UPLOAD nomefile = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\")) 'in questa variabile viene salvato il nome del file che sarà del tipo 2311235.gif filename = nomefile value = UploadRequest.Item("file").Item("Value") Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14 'da questa riga di codice si specifica l'indirizzo relativo dove sarà inserito il file Set MyFile = ScriptObject.CreateTextFile("D:\inetpub\webs\sitoit\public\images\" & filename) For i = 1 to LenB(value) MyFile.Write chr(AscB(MidB(value,i,1))) Next MyFile.Close 'End If End If %> </head> <body> Il file <%= filename %> è stato caricato con successo. Il file caricato pesa <% Kb = byteCount/1024 Response.Write(FormatNumber(KB, 2) & "Kb") %>. </body> </html>
Il caricamento del file funziona correttamente.
Il problema è che vorrei fare l'upload del file e poi scrivere nel database il nome del file caricato. Tramite il form vorrei inserire: nome e descrizione e relativo file.
Non riesco a scrivere nel database il nome del file (filename) nello stesso record dove poi, tramite il form inserirò (o avrò già inserito) nome e descrizione.

Rispondi quotando

... non so se ti può servire, cioè se puoi usare questa strategia con il tuo codice
engi
engi
