PDA

Visualizza la versione completa : [PASCAL] Accettare file in upload all'interno di un Web Server


denis76
13-10-2008, 17:30
In una semplice pagina html vi questa porzione di codice:



Aggiornamento Software:

<form method="post" action="SoftwareUpload" enctype="multipart/form-data">

<input type="file" name="FileToUpload" size="60">
<input type="submit" value="Invia">


</form>

che mi invia un file al server http.
Ora il file mi arriva con dei byte in pi sia in testa che in coda. La cosa tra l'altro sembra che cambi da browser a browser. In questo momento cerco di capire dove termina l'header ed inizia il file cercando questa successione di byte


#13#10#13#10

ma la cosa sembra non essere corretta. Sapete dove posso trovare della documentazione che spieghi in modo chiaro come tale cosa deve essere regolata?


Grazie mille, Denis.

king64
14-10-2008, 10:13
Che linguaggio di scripting usi per effettuare l'upload ? :)

denis76
14-10-2008, 10:26
Nulla, sufficiente mettere quel codice in una pagina html e compare subito il pulsante per l'upload.

Ho risolto cercando una sequenza di caratteri 13 10 13 10 all'inizio per stabilire dove inizia il file ed alla fine per sapere dove termina.

Mi pare che i browsers si comportino tutti in modo simile, speriamo che sia corretto cos.

LeleFT
14-10-2008, 11:51
Originariamente inviato da denis76
Nulla, sufficiente mettere quel codice in una pagina html e compare subito il pulsante per l'upload.

S, d'accordo... quel codice fa comparire sul browser la richiesta di un file... il comportamento richiesto dal tag INPUT di tipo file... ma sul server deve esserci qualcuno che lo riceve questo file... visto che viene incapsulato in una richiesta HTTP...

Questo qualcosa sar uno script scritto in un certo linguaggio... PHP? ASP? ASP.NET? JSP/Java?

Cosa c' all'altro capo della comunicazione?


Ciao. :ciauz:

denis76
14-10-2008, 12:25
Dall'altra parte c' un server web scritto da me (basato sulle librerie synapse). Uso questo sistema per aggiornare in modo automatico il software all'interno di un tipo particolare di apparato.

LeleFT
14-10-2008, 12:46
Originariamente inviato da denis76
Dall'altra parte c' un server web scritto da me (basato sulle librerie synapse). Uso questo sistema per aggiornare in modo automatico il software all'interno di un tipo particolare di apparato.
Hai scritto tu il WebServer?
Con che linguaggio?

Se l'hai scritto tu, allora dovresti fare riferimento alle RFC 2616 e successive modifice (vedi qui (http://www.w3.org/Protocols/rfc2616/rfc2616.html)) per comprendere come viene trasferito un file tramite protocollo HTTP.


Ciao. :ciauz:

denis76
14-10-2008, 13:59
Gi vero.
Ho usato FreePascal modificando il progetto synapse a cui ho aggiunto l'autenticazione e altre cose del genere.

E' impressionante quanto sia semplice scrivere un web server.

mondobimbi
14-10-2008, 15:03
io penso che la sequenza che termina l'header sia CR CR senza i LF, che sono tipici dei file di testo in windows, non usati in unix
ciao
sergio

Loading