Bonjour,
j'utilise un script Perl/CGI qui permet de demander le telechargement d'un fichier plutot que de l'ouvrir dans le navigateur (qui lui fonctionne bien), mais le probleme que je rencontre est que lorsque c'est un fichier texte, il n'est pas transfere en mode texte ( les renvois a la ligne sont converties en carracteres speciaux !! ) alors que si je prend le meme fichier d'origine et que je fais un bouton droit "enregistre sous" il est correct.
voici la page HTML:
et le script CGI:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <html> <body> <form name="test"> </form> <a href="/cgi-bin/download.cgi?ID=test.xml&filename=result.xml">Download File</a> </body> </html>
quelqu'un aurait-il une solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #!C:/Perl/bin/perl use CGI ':standard' ; my $files_location ; my $ID ; my $filename ; my @fileholder ; $ID = param( 'ID' ); $filename = param( 'filename' ) ; if ($ID eq '') { print "Content-type: text/html\n\n"; print "You must specify a file to download."; } else { open(DLFILE, "<$ID") || Error('open', 'file'); @fileholder = <DLFILE>; close (DLFILE) || Error ('close', 'file'); open (LOG, ">>c:/TEMP/test.log") || Error2('open', 'file'); print LOG "$ID\n"; close (LOG); print "Content-Type:application/x-download\n" ; print "Content-Disposition:attachment;filename=$filename\n\n" ; print @fileholder } sub Error { print "Content-type: text/html\n\n"; print "$ID" ; print "The server can't $_[0] the $_[1]: $! \n"; exit; }
Merci d'avance.
Partager