Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

Server.MapPath() error ASP 0171

Autore Messaggio
MadSyd

Eliminato
Eliminato
0 Discussione



Profilo - MadSyd
15 maggio 2005 alle 11:49:41 Profilo - MadSydInvia un messaggio privato Rispondi quotando
Ciao a tutti.

E' stato detto e ridetto che l'upload funziona a tutti, ma ho avuto invece modo di constatare decine di discussioni aperte e rimaste in sospeso con questo problema.

Beh, mettendo mano al codice ho risolto, ma premetto che è una pezza! ..una toppa, insomma.
Infatti teoricamente dovrebbe funzionare, visto che sull'host non dà problemi. Tuttavia, il mirror in locale non ne vuole proprio sapere! [!?!]

(i)
Ho quindi modificato la riga 985 del file /include/functions-inc.asp in:
If len(UpFileName) > 0 AND len(UpFilePath) > 0 Then

Ho visto che già su un'altra discussione qualcuno aveva suggerito un if ... then per bypassare l'errore ma implicava editare tutti i files upload*.asp
presenti in root.

In attesa di una pezza ufficiale ..o quantomeno d'una spiegazione da parte dello staff di http://www.aspnuke.it <grin>
..potreste usare questa .. [lo]
Syd_
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
15 maggio 2005 alle 15:42:21 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Il problema dell'upload, è che molti sbagliano nella configurazione del portale, se in remoto funziona, almeno così dici nel tuo caso, in locale deve funzionare allo stesso identico modo, in quanto, stai interrogando un web server vero proprio, quindi, non ci vedo nessuna differenza tra i due sistemi.
Dunque, il problema è da affrontare diversamente, se hai 2 web server, dovrai configurarli in maniera identica, e, dato che il remoto non lo puoi modificare più di tanto, è corretto pensare che, sarà il web server locale a dover essere configurato come il remoto, facciamo un esempio pratico, il remoto è su di un server Aruba, la struttura diciamo che è la più semplice, Aspnuke in ROOT, vediamo come è organizzato il web server:
Abbiamo il nostro nome a dominio /MIOSITO.IT/, e questa è la root, dentro la root troviamo delle cartelle già predisposte dal provider, a noi ne servono 2, /MDB-DATABASE/ e /PUBLIC/.
Ora, quando eseguiamo con FTP l'upload nel nostro spazio web, cosa facciamo esattamente? Inseriamo nella cartella mdb-database i DB di Aspnuke, nella cartella public, copiamo le cartelle DYNBLOCK - RSS - XML (LANG in origine)- UPLOAD e UPLOAD/USERS, tutti i restanti files e cartelle dovremo copiarli in ROOT.
A questo punto, la situazione è chiara, tutte le cartelle e i files sono sotto la ROOT, l'unica cosa da controllare ancora sono i permessi di scrittura per le cartelle preparate dal provider, le altre non devono avere il permesso di scrittura, e questo lo si può vedere subito, lanciando il file di setup, se tutto va a buon fine e, viene proposta la pagina per la creazione del configuration-in, vuol dire che i permessi sono OK.
Ora, dopo questa lunga spiegazione, cosa possiamo fare per far funzionare in locale come in remoto Aspnuke?
Reicreare l'ambiente trovato in remoto, cioè, nella cartella /INETPUB/WWWROOT/ di Windows creare una cartella MDB-DATABASE e una cartella PUBLIC, lavorare in root, senza sottocartelle, cioè, non inserire Aspnuke in una cartella dai nomi più vari, tipo portal o web o altro.
Fatto questo, copiare tutti files e le cartelle di Aspnuke in root e, tramite l'interfaccia di IIS dare i corretti permessi di scrittura alle cartelle MDB-DATABASE e PUBLIC, fatto questo, riportarsi in wwwroot, accertarsi che le cartelle abbiano gli attributi di Archivio, e siano condivise per il web, lanciare il setup, terminare la procedura e, controllare che l'upload funzioni correttamente.
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

MadSyd

Eliminato
Eliminato
0 Discussione



Profilo - MadSyd
15 maggio 2005 alle 18:46:45 Profilo - MadSydInvia un messaggio privato Rispondi quotando
Ciao Dj!

Di fatto c'è una incongruenza già dal setup.
;)

Infatti Configuration-inc.asp viene creato in /INCLUDES che però -NON- ha diritto in scrittura.. Quindi o lo creo a mano o ..lo creo a mano.
[big]

Non si tratta di path errati ne di privilegi perche i files vengono creati, ma l'applicazione si perde poi. Presumo quando esegue i controlli al file inviato. Infatti non chiude il popup che ritorna un tristissimo errore 500.100 con quel Server.MapPath() error ASP 0171,mentre il file, presente, resta orfano sul sito.

La procedura d'upload quindi funziona, anche se poi la variabile che contiene il path si perde per strada..
Di fatto ho modificato le estenzioni permesse in fase di upload e, forse proprio qui il problema, anche la dimensione massima consentita.
La variabile iMaxSize lo regge un giga, 1024*1024*1024?

Syd_
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
15 maggio 2005 alle 20:57:19 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Potrei dirti che non c'è alcuna incongruenza, in quanto, la cartella INCLUDES non deve avere i permessi di scrittura, infatti, il setup crea un file che deve essere copiato in un documento nuovo di notepad e, salvato col nome di configuration-inc.asp.
In quanto alle estensioni dei files accettati in upload, sono i le solite: TXT - ZIP - JPG - GIF - PNG - BMP - DOC - PDF, altre estensioni non sono ammesse, anche perchè non lo sono da parte dei server web, per quanto riguarda la dimensione massima di upload, varia da server a server, WIN2003 permette un massimo di 256Kb che a volte, come succede su Aruba, può essere un tantino superiore, io ad esempio ho inserito la grandezza di 2.048.000 (2 MB), a volte va a volte no, ma, è un limite abbastanza ampio, infatti immagina quanto tempo ci metterebbe un utente ad eseguire un upload di una immagine grande 2 MB e quanto ci metterebbero gli altri utenti a visualizzarla.
Ciauzz DJ
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

russena

Utente
Utente
64 Discussioni



Profilo - russena
16 maggio 2005 alle 08:07:48 Profilo - russenaInvia un messaggio privato Rispondi quotando
Dj,
hai sicuramente ragione. Ma come si spiega nel mio caso che un giorno funziona, nello stesso giorno a volte si a volte no. In un altro sito che gestisco io della scuola non ha mai funzionato pur configurato allo stesso modo di avolesi.it.
E poi mentre a me funzionava con IE di mac ad un utente nello stesso tempo non ha mai funzionato. Sempre quel maledetto errore Server.MapPath() error ASP 0171. Ci deve per forza essere qualcosa che non va. Io non capisco molto di asp ma questo problema non è mio solo.
Saluti....l
---------------
Sebastiano Basile
MadSyd

Eliminato
Eliminato
0 Discussione



Profilo - MadSyd
16 maggio 2005 alle 15:52:02 Profilo - MadSydInvia un messaggio privato Rispondi quotando
Salute DJ!
[lo]
Potrei dirti che non c'è alcuna incongruenza, in quanto, la cartella INCLUDES non deve avere i permessi di scrittura, infatti, il setup crea un file che deve essere copiato in un documento nuovo di notepad e, salvato col nome di configuration-inc.asp.
Potresti, ma non puoi.
Le righe 404, 412 ed infine la 420 di /setup.asp sono inequivocabili!
oFs.OpenTextFile(Server.MapPath("includes/configuration-inc.asp"), 2, True) scrive in /includes!
Come copio un file che non viene scritto?
Che ca..spita dici DJ?
[!?!]

Prosegui poi..
...la dimensione massima di upload, varia da server a server, WIN2003 permette un massimo di 256Kb che a volte, come succede su Aruba, può essere un tantino superiore, io ad esempio ho inserito la grandezza di 2.048.000 (2 MB)
..ah, ora capisco ;)

Prova tu invece a sostituire la riga 61 di /do_upload.asp con queste 5:
-----
' Setta i limite di tempo a 24h
Session.TimeOut = 1440
Server.ScriptTimeOut = 1440*60

' La riga originale
Uploader.Upload()
' Ripristina i valori di default
Server.ScriptTimeOut = 90
Session.TimeOut = 20

(o)
-----
Questo evita che lo script che riceve il file si interrompa automaticamente per TimeOut.


Il fatto che qui a sinistra, sotto MadSyd ci sia scritto Principiante, non implica affatto che non mi sia letto la scarna ma comunque presente documentazione sul codice, così come spulciare i files di configurazione.
Sarebbe altrimenti inspiegabile che un amico mi abbia potuto inviare con successo un .MP3 da 15 mega.

(!) La mia domanda era un po' più tecnica. Semplificando, volevo sapere se il tipo di variabile di iMaxSize poteva incorrere in rappresentazioni tipo 1,23456789e+10 che avrebbero potuto dare errori di corrispondenza se non più interpretate come numeriche..

Tuttavia l'errore Server.MapPath() error ASP 0171 resta ancora in attesa di spiegazioni, ma almeno io una pezza l'ho suggerita senza dare inutili spiegazioni.
8) :)

Syd_
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
16 maggio 2005 alle 16:33:18 Profilo - emuInvia un messaggio privato Rispondi quotando
Capisco bene che tu non sia un principiante, MadSyd, ma DJ stava solo cercando di aiutarti, non di fare polemica.
Generalmente gli utenti provano l'installazione di aspnuke localmente, e poi la trasferiscono o la rieseguono sul server a loro disposizione.
In tal caso non si verifica alcun errore di scrittura, poiche e' possibile scrivere su tutte le cartelle (se hai configurato i prmessi per benino), e cio' avviene anche su alcuni provider, persino di quelli gratuiti.
Su altri server non e' possibile scrivere nella cartella includes, ed allora il setup ti mostra i testi dei file che tu devi creare (via ftp o in altro modo) sul server per completare la configurazione, "copiando" il testo mostrato.
E' chiaro adesso?
Inoltre la dimensione massima del post http (in altre parole del file uploadato) non dipende dal tempo di timeout, ma da un parametro del server, che di default sui server windows e' impostato al "ridicolo" valore di 200k.
Gli amministratori dei server generalmente modificano questo valore, ma se lo impostano ad un valore molto elevato, allora e' possibile che lo script vada in timeout prima del completamento dell'upload.
Solo in questo caso le righe da te suggerite migliorerebbero il funzionamento dell'upload (ma gli amministratori accorti impostano gia' il timeout in proporzione alla dimensione massima del post).
iMaxSize dovrebbe essere al massimo un intero a 32 bit con segno, quindi poco piu' di 2000000000 (2 Giga), ma certo nessun amministratore consentira' mai un post cosi' grande...
Inoltre potremmo non volere che gli utenti possano uploadare file troppo grandi, quindi abbiamo inserito il parametro iMaxSize per evitare abusi quand'anche il provider ci consentisse di uploadare file enormi.
Per quanto riguarda l'errore di MapPath, il problema e' il fatto che capita a molti, ma non a tutti, e quelli a cui funziona sono la maggioranza...
Ciao
---------------
development@aspnuke.it
emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
16 maggio 2005 alle 16:41:33 Profilo - emuInvia un messaggio privato Rispondi quotando
Con la mia risposta non intendo dire che ci disinteressiamo del problema dell'upload, ma nel mio caso io non riesco a riprodurlo, quindi non so come correggerlo.
Ciao
---------------
development@aspnuke.it
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
16 maggio 2005 alle 16:43:14 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
Io non valuto le persone da quanti post hanno inserito, anzi, io non valuto affatto, se hai trovato una soluzione buon per te, ho cercato solo di spiegare alcune cose, in maniera semplice, anche perchè, il post non lo leggi solo tu. Alla fine, ho installato decine di volte Aspnuke in tutte le versioni della 2.0, e, non ho mai avuto problemi con l'upload dei files, come host, sono su Aruba, quindi ho le identiche condizioni di moltissimi altri utenti, nessun vantaggio, in locale ne ho installate altrettante, ne ho ancora installate almeno 4 versioni diverse, e tutte funzionanti al 100%, io non voglio insegnare niente a nessuno, quindi, se hai problemi sull'upload, cerca di risolverli controllando la configurazione di IIS e i percorsi del setup.

---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

MadSyd

Eliminato
Eliminato
0 Discussione



Profilo - MadSyd
16 maggio 2005 alle 17:58:53 Profilo - MadSydInvia un messaggio privato Rispondi quotando
Alleluya :) :)
Ho smosso lo staff (o)!
Mi scuso per il sarcasmo, ma era una provocazione del tutto ..intenzionale.

Dato che non pare essere un caso isolato, immagino sia anche vostra premura risalire alle possibili cause dell'errore, senza liquidare la questione imputando la causa ad IIS perchè, nel caso, non è sarebbe una 'causa' di dominio pubblico.

Per altro, la funzione .Upload() funziona correttamente, ma dato che ritorna un errore 500.100 non trappato dal on_error_resume_next lascia intendere che possa essere un errore non previsto neppure dagli sviluppatori di aspnuke.
:(

In attesa di tempi migliori,
resto a vostra disposizione.

Syd_
(Andrea.)
[lo]
 1  2  >>

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 85
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 558 Notizie: 180 Sondaggi: 11 Preferiti: 5685463 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi