Newsgroup: it.comp.lang.perl
Titolo: Download di file certificato

Ciao a tutti, 
Ho un piccolo strano problemi da risolvere. 
Ho fatto un semplicissimo CGI in  PERL che permette il download di un 
file dopo aver compilato un determinato form. 
L'utente riceve il file solo se compila il form in un certo modo. 
La parte di autentificazione non e' un problema ed anche il download 
funziona benone. 
L'unico problema sta nel nome del file che il browser mi suggerisce 
nelle finestrella di salvataggio. 
Se lo script si chiama 
TEST.PL
 e il file si chiama PIPPO.DOC , Netscape 
mi suggerisce di salvarlo con il nome TEST.DOC e non con il suo nome 
originale. 
Ovviamente l'utente prima di salvare puo' cambiare il nome, ma mi 
piacerebbe che il Filename suggerito sia gia' quello corretto. 
Il nome del file e' un parametro del form che chiama il CGI , quindi e' 
a mia disposizione, ma non so come sfruttarlo. 
Avete idee per aiutarmi ? 
Questo e' un mini script funzionante contenente la parte incriminata . 
# Send the MIME header 
print "Content-type: application/msword\n\n"; 
open (fHandleFile, 'c:\pluto\pippo.doc'); 
binmode fHandleFile; 
while (<fHandleFile>) 
{ 
 print "$_"; 
} 
close fHandleFile; 
Un grazie anticipato a tutti. 
Giovanna 
______________________________________________________
Get Your Private, Free Email at 
http://www.hotmail.com
--
Posted from [155.208.254.100] by way of 
f68.hotmail.com
 [207.82.251.208]
via Mailgate.ORG Server - 
http://www.mailgate.org

 wrote:
: L'utente riceve il file solo se compila il form in un certo modo. 
: La parte di autentificazione non e' un problema ed anche il download 
: funziona benone. 
: L'unico problema sta nel nome del file che il browser mi suggerisce 
: nelle finestrella di salvataggio. 
: Se lo script si chiama 
TEST.PL
 e il file si chiama PIPPO.DOC , Netscape 
: mi suggerisce di salvarlo con il nome TEST.DOC e non con il suo nome 
: originale. 
: Ovviamente l'utente prima di salvare puo' cambiare il nome, ma mi 
: piacerebbe che il Filename suggerito sia gia' quello corretto. 
Prova ad aggiungere negli header HTTP anche il Content-Location.
-- 
Nando Santagata: Telemastica & infornatica
Key fingerprint = C2 D9 C0 8E D5 B7 04 97  AF E8 3F 3E AF 4E 7F 9E

 originale.
[...]
Uno dei segreti meglio conservati del CGI (o dell'http?).
Le specifiche (chissa' quali) dicono che il browser deve prendere il
suggerimento 
per il nome del file da salvare da PATH_INFO.
Se il tuo script e' 
http://foo.bar/cgi-bin/baz.pl
 e vuole far salvare un
file
snafu.txt, ottieni l'effetto desiderato usando la URL:
http://foo.bar/cgi-bin/baz.pl/snafu.txt
(PATH_INFO e' 'snafu.txt').
HTH & cheers,
	Alessandro

[...]
Devi aggiungere il seguente header:
	Content-Disposition: inline; filename="PIPPO.DOC"
Funziona con tutte le versioni di Netscape, ma per quanto ho potuto provare io
da` problemi con Internet Explorer.
	Michele.
-- 
Michele Beltrame
mi...@io.com
http://www.italpro.com/mb/

 wrote:
: Devi aggiungere il seguente header:
: 	Content-Disposition: inline; filename="PIPPO.DOC"
Ho provato a cercare documentazione su questo header, ma non l'ho trovato
ne` nell'RFC1945 (HTTP 1.0), ne` nell'RFC2068 (HTTP 1.1).
Mi sai dire qualcosa in proposito?


Mi sai dire qualcosa in proposito?
Sfortunatamente no, anche a me l'informazione e` stata passata. Credo si
tratti di un'estensione di Netscape al protocollo HTTP.


 wrote:
:>: 	Content-Disposition: inline; filename="PIPPO.DOC"
:>
:>Ho provato a cercare documentazione su questo header, ma non l'ho trovato
:>ne` nell'RFC1945 (HTTP 1.0), ne` nell'RFC2068 (HTTP 1.1).
:>Mi sai dire qualcosa in proposito?
: Sfortunatamente no, anche a me l'informazione e` stata passata. Credo si
: tratti di un'estensione di Netscape al protocollo HTTP.
Nel frattempo ho continuato via mail la discussione con la poster
originale, a cui ho consigliato due soluzioni:
HTTP/1.0 (RFC1945)
   The Location response-header field defines the exact location of the
   resource that was identified by the Request-URI. For 3xx responses,
   the location must indicate the server's preferred URL for automatic
   redirection to the resource. Only one absolute URL is allowed.
       Location       = "Location" ":" absoluteURI
   An example is
       Location: 
http://www.w3.org/hypertext/WWW/NewLocation.html
HTTP/1.1 (RFC2068)
   The Content-Location entity-header field may be used to supply the
   resource location for the entity enclosed in the message. In the case
   where a resource has multiple entities associated with it, and those
   entities actually have separate locations by which they might be
   individually accessed, the server should provide a Content-Location
   for the particular variant which is returned. In addition, a server
   SHOULD provide a Content-Location for the resource corresponding to
   the response entity.
          Content-Location = "Content-Location" ":"
                            ( absoluteURI | relativeURI )
-- 
Nando Santagata: Telemastica & infornatica
Key fingerprint = C2 D9 C0 8E D5 B7 04 97  AF E8 3F 3E AF 4E 7F 9E
finger nando (at) ipers (dot) net   for my PGP public key

piacerebbe che il Filename suggerito sia gia' quello corretto. 
Perche' invece di mandargli il file via Perl non gli mandi solo la Location?
ovvero,
print "Location: http|
ftp://pathdelladirectory/PIPPO.DOC\n\n
";
in questo modo consumi meno cpu. Netscape dara' il nome giusto; Explorer
purtroppo no, ma che ci vuoi fare?
bye
silvio sosio

Delos Science Fiction <de...@NOSPAMfantascienza.com> wrote:
: Perche' invece di mandargli il file via Perl non gli mandi solo la Location?
: ovvero,
: print "Location: http|
ftp://pathdelladirectory/PIPPO.DOC\n\n
";
Funzionerebbe solo se il file fosse nelle directory del server Web o
in posti accessibili tramite FTP, cosa che mi sembra si volesse
evitare...
