Newsgroup: it.comp.www.asp
Titolo: Help: Trasmissione file dal client al server

Ciao a tutti.
In una pagina html ho la necessità di far inserire all'utente il nome di un
file che deve essere trasmesso al server.
Sono riuscito a creare una form usando il controllo di input di tipo file e
ho verificato che effettivamente il contenuto del file viene trasmesso
insieme al contenuto della form. Riporto qui sotto il codice html che genera
la form.
<FORM method=POST action=prova.asp  ENCTYPE="multipart/form-data">
<INPUT NAME=miofile TYPE=FILE>
<INPUT TYPE=submit>
</FORM>
Il mio problema, attualmente, e' scrivere del codice ASP che recuperi il
contenuto del file e lo salvi da qualche parte sul server.
Attraverso il codice che segue sono riuscito a leggere il contenuto
complessivo del post e a salvarlo, ma oltre al contenuto del file comprende
una quantità di informazioni aggiuntive.
Il tentativo di rielaborare successivamente questo file per eliminare le
informazioni aggiuntive si e' rivelato un fallimento, in quanto ASP non
sembra avere la possibilita' di gestire file che non siano in formato testo.
Un altro tentativo e' stato quello di elaborare direttamente la variabile
binread che, stando alla documentazione Microsoft, dovrebbe contenere
un'array di byte. Peccato che l'espressione binread(1) (per leggere il primo
elemento dell'array) restituisca l'errore "Tipo non corrispondente"
Dim binread
dim bytecount
bytecount = Request.TotalBytes
binread = Request.BinaryRead(bytecount)
Set fso = CreateObject("Scripting.FileSystemObject")
Set a = fso.CreateTextFile("c:\fileprova.txt", True, True)
a.Write(CStr(binread))
a.Close
Se qualcuno ha qualche indicazione, idea, suggerimento, proposta o anche
codice gia' realizzato a titolo di esempio da darmi, tutto e' gradito.
Grazie
Stefano

 ...
Mi hai incuriosito... Ho provato e sono giunto al tuo stesso punto.
Alora mi sono documentato un po'... 
Allora, "multipart/form-data" sembra essere una caratteristica presente
solo in html 4.0 anche se RFC1867 del 1995 lo descrive puntigliosamente.
Se guardi sulla specifica di html 4.0 su 
http://www.w3.org
 si trovano
cose interessanti, ma non risolutive. La cosa piu' importante e' che
tutto il contenuto del form viene inviato al server in multipart-MIME,
cioe' un gran casino (vedi RFC2045). 
Ho cercato sulla documentazione di IIS4 ma non sono riuscito a trovare
nulla su HTML 4 e su "multipart/form-data". A quanto sembra IIS4 non
accetta POST di tipo multipart-MIME. Quindi la "decodifica" del casino
che ti arriva te la devi fare a mano....
Se ti puo' interessare ho verificato il funzionamento con un
analizzatore di rete ed effettivamente le cose vanno come sono
descrittte sui vari RFC e W3C. Purtroppo IIS sembra ignorare l'intero
post :-(((
Continuero' (tempo permettendo) le indagini  ;-)
  saluti
P.S. se scopri qualcosa di nuovo avvertici/mi sul newsgroup.
---------------------------------------------
 Fabrizio Accatino
 Web:   
http://www.cclinf.polito.it/~fhtino
 EMail: 
fht...@cclinf.polito.it
---------------------------------------------

Su microsoft.public.inetserver.iis.activeserverpages (newsgroup inglese su
asp) suggeriscono il seguente articolo.
http://www.15seconds.com/Issue/981121.htm
Quello che l'articolo suggerisce, comunque, è di comprare un componente
ActiveX sviluppato dall'autore dell'articolo stesso, che svolge tutto il
lavoro.
Volendo sviluppare qualcosa in proprio, mi sembra di aver capito che ASP da
solo non basta. E' assolutamente necessario passare per un controllo ActiveX
(comprato o sviluppato), che si occupi di decodificare e salvare il post.
Ciao a tutti.
Stefano

Ho continuato a cercare e.....
Risposta: Posting Acceptor by Microsoft
E' il componente (dll isapi) che e' compatibile con le specifiche del
RFC1867
Lo trovi nel Option Pack per win nt server.
  saluti


Lo trovi nel Option Pack per win nt server.
Ho trovato il componente, ma ho qualche difficolta' nel reperire la
documentazione relativa. Nelle MSDN di ottobre (quella fornita con il Visual
Studio 6.0) lo cita soltanto come componente alternativo alle estensioni di
front page per la pubblicazione delle proprie pagine sul sito, ma non sono
riuscito a trovare nulla su come usarlo per l'upload dei file (in realta',
cercando bene sui due cd delle MSDN ho trovato due righe che dicono che la
cosa e' possibile, ma temo non mi basti)
Hai per caso della documentazione o sai dove trovarla?
Grazie
Ciao

 Hai per caso della documentazione o sai dove trovarla?
Nella documentazione "on-line" di IIS4 (che spero tu abbia).
 
http://nome-tuo-servernt4/iishelp
