Lo so basta fare una ricerca in giro.......ma credetemi non sono ancora riuscito a trovare quello di cui ho bisogno.
Veniamo al dunque: Ho una pagina in asp contenente una form dove inserendo dei dati, questi vengono aggiornati in un database.
In questa Form ho una casella di testo dove devo inserire il nome (completo di estensione) di una immagine, la quale verrà memorizzata nel database.
Adesso vorrei modificare il modo con il quale inserire il nome di questa immagine. Mi spiego, anzichè inserire il nome manualmente vorrei che tramite un tasto sfoglia, io mi vada a selezionare il file sul pc locale e dopodichè mi faccia sia l'upload del file sul server in una determinata cartella e che mi lasci scritto nella casella di testo il nome del file....figo vero?
Scherzi a parte vi posto il codice funzionante per l'upload...ma non saprei come adattarlo al mio caso, in quanto facendo l'upload mi redireziona su altre pagine..ma io ho bisogno di fare l'upload rimanendo in quella pagina con quel form..per non incorrere in errori....
...Spero che qlc abbia 5-10-20...minda dedicarmi..ne sarei veramente grato.
Saluti.
<CODE>--UPLOADFORM.ASP-----------------
--------------------------------------------
<html>
<head>
<title>UPLOAD FILE</title>
</head>
<body>
<table border=0 width=360 bgcolor=#40576f cellspacing=1 align=center>
<tr>
<td width=400 align=center bgcolor=#40576f><FONT FACE="tahoma" color=#ffffff size=2>SELEZIONARE IL FILE PER L'UPLOAD</FONT></td>
</tr>
<tr>
<td width="400" height="0" bgcolor="#E6E6FF">
<form method="POST" enctype="multipart/form-data" action="upload.asp">
<p align="center"><font color="#000080" size="2" face="Arial">
File: </font><input type="file" name="blob" size=30>
<input type="submit" name="Enter" value="Aggiungi">
</form>
</td>
</tr>
<tr>
<td width="400" height="10" bgcolor="#40576f" align=right></td>
</tr>
</table>
</body>
</html>
--------------------------------------------
<\CODE>--UPLOADFORM.ASP-----------------
<CODE>--UPLOAD.ASP----------------------
--------------------------------------------
<%
'variabili di configurazione
Dim folder
folder = "\prodotti" 'directory sul server con accesso in scrittura
'fine variabili di configurazione
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
Sub BuildUploadRequest(RequestBin)
PosBeg = 1
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos = InstrB(1,RequestBin,boundary)
Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")
'Get an object name
Pos = InstrB(BoundaryPos,RequestBin,getByteString("Conte nt-Disposition"))
Pos = InstrB(Pos,RequestBin,getByteString("name="))
PosBeg = Pos+6
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filen ame="))
PosBound = InstrB(PosEnd,RequestBin,boundary)
If PosFile<>0 AND (PosFile<PosBound) Then
PosBeg = PosFile + 10
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "FileName", FileName
Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
PosBeg = Pos+14
PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
UploadControl.Add "ContentType",ContentType
PosBeg = PosEnd+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
Else
Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
PosBeg = Pos+4
PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
End If
UploadControl.Add "Value" , Value
UploadRequest.Add name, UploadControl
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),Requ estBin,boundary)
Loop
End Sub
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
char = Mid(StringStr,i,1)
getByteString = getByteString & chrB(AscB(char))
Next
End Function
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")
'Create FileSytemObject Component
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'Create and Write to a File
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(folder) &"\"&filename)
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
%>
<html>
<head>
<title>UPLOAD FILE</title>
</head>
<body>
<table border=0 width=360 bgcolor=#40576f cellspacing=1 align=center>
<tr>
<td width=400 align=center bgcolor=#40576f><FONT FACE="tahoma" color=#ffffff size=2>Il file <%=filename%> è stato uploadato con successo.</FONT></td>
</tr>
<tr>
<td width="400" height="30" bgcolor="#E6E6FF" align=center>< < UPLOAD DI UN ALTRO FILE</font></td>
</tr>
<tr>
<td width="400" height="10" bgcolor="#40576f" align=right></td>
</tr>
</table>
</body>
</html>
--------------------------------------------
<\CODE>--UPLOAD.ASP----------------------