22 messaggi dal 07 aprile 2004
sono disperato.
questo script dovrebbe caricare sul server una pagina (i dati arrivano dal form allegato sotto).
due possibili risultati:
- la barra di caricamento di explorer scorre fino a meta' per poi fermarsi
- oppure viene lanciato un errore in FSO.createtextfile (evidenziato con !!!!!!!!!!!!)

in particolare il primo caso si riferisce al lancio in locale mentre il secondo al lancio su di un server vero e proprio.

aiutatemi gente....

grazie
<%
percorso = "/"
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)
'===============================
if instr(Intestazione,"titolo") > 0 then
titolo = ContenutoFile
end if

if instr(Intestazione,"categoria") > 0 then
categoria = ContenutoFile
end if

if instr(Intestazione,"anno") > 0 then
anno = ContenutoFile
end if

if instr(Intestazione,"mese") > 0 then
mese = ContenutoFile
end if

if instr(Intestazione,"giorno") > 0 then
giorno = 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)
i = instrRev(NomeUpload,"\")
'=====
secondi = Second(now)
if mid(NomeUpload,len(NomeUpload)-3,1) = "." then
NomeFile = anno&mese&giorno&secondi&Right(NomeUpload,4)'htm
else
NomeFile = anno&mese&giorno&secondi&Right(NomeUpload,5)'html
end if

'=====
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


If Upload1 = true then
Response.Write "<br>La dimensione del file che hai uploadato è di " & DimensioneFile1*0.001 & "kb"
End If

End if

Dim MyDB
MyDB = "annunci.mdb"
Dim objConn, objRs
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRs = Server.CreateObject("ADODB.Recordset")

percorso = Server.MapPath(MyDb)

objConn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = "&percorso&";Jet OLEDB:Database Password=uc800090149;"

objRs.Open "SELECT * from annunci",objConn,1,3

objRs.addNew
objRs("titolo") = titolo
objRs("categoria") = categoria
objRs("scadenza") = DateSerial(anno,mese,giorno)
objRs("percorso") = Server.MapPath("./")&"\"&NomeFile
objRs.Update
objRs.close

set objRs = nothing
objconn.close
set objconn = nothing

%>

==========================================================
F O R M

<html>
<head>
<title>Upload</title>

<script language="JavaScript">
function controllagiorno(){
day = document.aggiorna.giorno.value
if (day < 1 || day > 31 || day == null || day.length < 2)
alert("Errore di inserimento del giorno");
}
function controllamese(){
month = document.aggiorna.mese.value
if (month < 1 || month > 12 || month == null || month.length < 2)
alert("Errore di inserimento del mese");
}
function controllaAnno(){
anno = document.aggiorna.anno.value
if(anno == null)
alert("E' necessario specificare una anno di scadenza");
oggi = new Date();
if(anno < oggi.getYear())
alert("Anno gia' trascorso");
}
function controllaTitolo(){
titolo = document.aggiorna.titolo.value;
if (titolo == "-" || titolo == null || titolo == "")
alert("Titolo obbligatorio");
}

function controllaCat(){
cat = document.aggiorna.categoria.value;
if (cat == null || cat == "")
document.aggiorna.categoria.value = "-"
}
</script>

</head>
<body>
<form name="aggiorna" action="uploadannunci.asp" method ="post" enctype="multipart/form-data">

Giorno (gg)<input type="text" name="giorno" size="2" value ="gg" onChange = "controllagiorno()"></input>
Mese (mm) <input type="text" name="mese" size="2" value ="mm" onChange = "controllamese()"> </input>
Anno (aaaa)<input type="text" name="anno" size="4" value ="aaaa" onChange = "controllaAnno()"> </input>&nbsp&nbsp (SCADENZA)<br><br>

Titolo &nbsp&nbsp&nbsp&nbsp&nbsp <input type="text" name="titolo" value="-" onChange = "controllaTitolo()"> </input><br>

Categoria <input type="text" name="categoria" value = "-" onChange = "controllaCat()"> </input><br>

<br>
<input type="file" name="file1">
<input type="submit" value="Upload"><br>
<!-- Password <input type="password" name="password">--><br><br>

</form>
</body>
</html>
68 messaggi dal 23 marzo 2004
In locale probabilmente hai lo script blocking di Norton Antivirus attivato.

Mentre sul server remoto molto probabilmente hanno disabilitato il FileSystemObject per motivi di sicurezza.

Ne hanno discusso anche ieri:

http://forum.aspitalia.com/forum/topic.aspx?PostID=204765&Search=upload#204778
58 messaggi dal 06 settembre 2002
Ho il medesimo problema anche io ma solo in locale. Ne ho parlato in diversi posts, le ho provate tutte. Ora anche la disabilitazione del blocco degli scripts in Norton, con l'unica conseguenza diversa: invece di rimanere in stallo il processo di upload, si apre la finestra di errore: Accesso negato. Eppure la cartella ha il permesso di scrittura. Da notare che, nella finestra proprietà cui si acccede con destrmouse sulla cartella che interessa, c'è una zona denominata "Impostazione Applicazioni"; ebbene, se si clicca su crea, successivamente i database sono dichiarati undefineds, cosa che non succede se si rimuove.
Insomma non si riesce ad uscire da questo empasse.
Chi ne sa di più? Nel caso positivo, per gentilezza, indicare le mosse da eseguire passo per passo, altrimenti una terminologia tecnica potrebbe essere non compresa. Grazie.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.