Salve a tutti. Non riesco a far funzionare uno script per l'upload di file sul mio spazio windows su aruba. Lo script in questione l'ho scaricato da html.it, si trovava come esempio in un articolo (purtroppo nn ricordo più quale![]()
![]()
), io gli ho dato una sistematina in modo che rinomini il file secondo data e ora corrente, in modo da evitare che vengano sovrascritti file che abbiano eventualmente lo stesso nome ma che siano diversi. Il fatto è che in locale lo script funziona perfettamente, mentre in remoto su aruba non va, nonostante abbia indicato come percorso per l'upload la cartella "public", che su aruba è dedicata, fra l'altro, a questo scopo. In localo uso windows xp con SP2 e IIS 5.01
Riporto il codice, sperando che qualcuno possa darmi qualche dritta:
Codice del file UPLOAD.ASP
<%
'Questa variabile setta il percorso di dove effettuare l'upolad
percorso = "/public/"
ByteRicevuti = Request.TotalBytes
if ByteRicevuti > 0 then
DatiRicevuti = Request.BinaryRead(ByteRicevuti)
For i = 1 To lenB(DatiRicevuti)
FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
Next
FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
ArrPezzi = split(FileBinario,FirmaFile)
for item = 1 to ubound(ArrPezzi)-1
Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
Intestazione = left(ArrPezzi(item),Inizio-1)
Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)
' Qui recupero il file da uploadare (se presente) e lo scrivo
if instr(Intestazione,"file1") > 0 then
i = instr(Intestazione,"filename=")
j = instr(i + 10,Intestazione,chr(34))
NomeUpload = mid(Intestazione,i + 10,j-i-10)
i = instrRev(NomeUpload,"\")
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload1 = True
DimensioneFile1 = len(ContenutoFile)
EstensioneFile1 = right(ContenutoFile,3)
NomeFile1 = NomeFile
giorno = Day(Date())
mese = Month(Date())
anno = Year(Date())
ora = Hour(Time())
minuti = Minute(Time())
secondi = Second(Time())
Nome_Def = giorno & "_" & mese & "_" & anno & "_" & ora & "_" & minuti & "_" & secondi
Set textStream = FSO.CreateTextFile(server.mappath(percorso & Nome_Def & NomeFile1), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
next
' Da qui in poi è possibile fare esegiure allo script altre operazioni
If Upload1 = true then
Response.Write "
La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb"
else
Response.Write "Impossibile effettuare upload"
End If
End if
%>
oltre a questo ovviamente un piccolo form per prelevare il file, che vi riporto ugualmente
Codice del file FORM.HTML
<form action="upload.asp" method="post" enctype="multipart/form-data">
FILE<input type="file" name="file1">
<input type="submit" value="Upload">
</form>
Aggiungo inoltre che i due file si trovano nella directory radice del sito, e che quindi la cartella "public" si trova allo stesso livello del file che effettua l'upload, non credo cmq che si tratti un problema di settaggio della costante "percorso", in quanto come vi ho già detto in locale tutto funziona alla perfezione, e in remoto ho provato in tutti i modi possibili ("/public/", "../public", etc etc)
Ringrazio anticipatamente tutti coloro che potranno dedicarmi un po' di attenzione, grazie...

Rispondi quotando
