Bonjour à tous,
Je souhaite uploader un fichier excel (>5Mo) sur un serveur du réseau local.
Pour celà, j'utilise l'upload du module CGI (CGI.pm)
Je bloque actuellement sur tmpFileName(), passage obligatoire pour pouvoir faire un copy sur le serveur après l'upload.
Voilà mon code : formulaire HTML et script perl :
HTML :
Code :
- <form name="uploadForm" action="" method="post" enctype="multipart/form-data">
- <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
- <input type="file" size="50" name="uploaded_file" accept="text/*" maxlength="2097152">
- <input type="Submit" value="Upload" name="uploadPL" >
- </form>
|
J'ai aussi essayé en CGI mais ça ne change rien :
Code :
- print $vbuf->start_multipart_form(
- -action => "",
- -method => "post",
- -id => "uploadForm",
- -name => "uploadForm"
- );
-
- print my $fileSelect = $vbuf->filefield(
- -name =>'uploaded_file',
- -default=>'starting value',
- -size=>50
- );
- print('<input type="Submit" value="Upload" name="uploadPL" >');
- print end_form();
|
Et voilà le script Perl:
Code :
- my $uploaded_file=param('uploaded_file');
- if( $uploaded_file ne "" )
- {
- my $file=upload('uploaded_file');
- print "file: ".$file."<br>";
- my $localfilename=tmpFileName($file);
- print "localfilename: ".$localfilename."<br>";
- copy( "$localfilename", "F:\www\tmp\.$file" );
- }
- }
|
Je récupère $uploaded_file qui m'affiche le nom du fichier, comme voulu
$file m'affiche également le nom du fichier (?)
et ... $localfilename ne m'affiche strictement rien
ça bloque à ce niveau là, je n'ai pas de fichier temporaire sur le serveur, en ayant créé une variable d'envirronnement TMPDIR comme indiquer dans les différents perldoc que j'ai rencontré sur le net
Voilà un peu d'aide serait bienvenue
see you