Ciao a tutti,
avrei un problema con l' upload di alcuni file in asp classico.
Ho uno script di upload che mi permette di salvare i file inseriti in una type="file" e il valore immesso in una type="text".
Il problema è questo: Su Iexplorer il file viene salvato ma su firefox no... Dovrei aver capito la causa, come nome del file iexplorer prende il percorso completo (es: C:\documenti\miofile.png) mentre firefox prende effettivamente solo il nome del file (miofile.png ).
Avete consigli su come faccio a risolvere il problema??
Metto qua sotto qualche riga di codice...
< form.htm >
codice:
<form action="upload.asp" method="post" enctype="multipart/form-data">
CAMPO TESTO
<input type="text" name="testo1">
FILE
<input type="file" name="file1">
<input type="submit" value="Upload">
</form>
< upload.asp >
codice:
percorso = "/upload/documentazioni/"
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)
response.write(b & "
")
' ArrPezzi(0) Contiene tutto il percorso del file compreso il nome del file con l' estensione
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)
' Recupero i campi se sono compilati
if instr(Intestazione,"testo1") > 0 then
testo1 = ContenutoFile
end if
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)
'response.Write(NomeUpload)
if not Left(a, 12) = "Mozilla/5.0 " then
i = instrRev(NomeUpload,"\")
' response.Write(NomeUpload)
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
' response.write(i)
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload1 = True
DimensioneFile1 = len(ContenutoFile)
EstensioneFile1 = right(ContenutoFile,3)
NomeFile1 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile1), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
else
i = instrRev(NomeUpload,"\")
response.Write(NomeUpload)
if i<>0 then
NomeFile = mid(NomeUpload,i + 1)
else
NomeFile = NomeUpload
end if
' response.write(i)
if i<>0 then
Set FSO = CreateObject("Scripting.FileSystemObject")
Upload1 = True
DimensioneFile1 = len(ContenutoFile)
EstensioneFile1 = right(ContenutoFile,3)
NomeFile1 = NomeFile
Set textStream = FSO.CreateTextFile(server.mappath(percorso & NomeFile1), True, False)
textStream.Write ContenutoFile
textStream.Close
Set textStream = Nothing
Set FSO = Nothing
end if
end if
next
.....