Webmaster Hub: [perl] Contrôle de la taille de fichiers avant upload - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

[perl] Contrôle de la taille de fichiers avant upload Noter : -----

#1 L'utilisateur est hors-ligne   flashy38 

  • Groupe : Membre
  • Messages : 4
  • Inscrit(e) : 07-juin 07

Posté 09 octobre 2008 - 19:15

Bonjour,

J'ai un script cgi qui permet d'uploader plusieurs fichiers simultanément à partir d'un formulaire HTML :
<form method="post" action="/cgi-bin/upload.cgi" enctype="multipart/form-data">
   <input type="file" name="file1">
   <input type="file" name="file2">
   <input type="submit" value="Envoyer">
</form>



Je sais comment contrôler la taille totale de tous les fichiers
if ($ENV{'CONTENT_LENGTH'} > $ max_upload_size) {


Je sais également qu'il est possible de tester la taille de chaque fichier après upload, mais ce que je cherche à faire c'est de contrôler la taille de chaque fichier avant de réellement commencer l'upload.

Donc si une bonne âme pouvait me dire si c'est possible de le faire et comment....

Merci d'avance.
0

#2 L'utilisateur est hors-ligne   Kioob 

  • Groupe : Membre+
  • Messages : 1 031
  • Inscrit(e) : 19-avril 04
  • Genre:Homme
  • Localisation:Lyon
  • Société:Daevel SARL

Posté 09 octobre 2008 - 20:10

Hello,

peu importe le langage il me semble impossible coté serveur de connaître la taille des données avant qu'elles ne soient envoyées. Le protocole HTTP ne le permet pas en tous cas, étant donné que seule la taille totale est indiquée (ton fameux Content-Length).
Mes jouets
0

#3 L'utilisateur est hors-ligne   rikew 

  • Groupe : Actif
  • Messages : 19
  • Inscrit(e) : 30-janvier 08

Posté 10 octobre 2008 - 15:04

La seule chose que tu peut obtenir c'est le chemin des fichiers. Tu peut donc controller les extentions des fichiers avant upload.
Pour les photos il est peut être possible de recuperer les dimentions mais je n'ai jamais testé.
0

#4 L'utilisateur est hors-ligne   Leonick 

  • Groupe : Hubmaster
  • Messages : 1 313
  • Inscrit(e) : 07-mars 05
  • Genre:Homme
  • Localisation:Val de Marne

Posté 10 octobre 2008 - 21:55

avec le champ MAX_FILE_SIZE dans le formulaire. Si le navigateur veut bien l'utiliser.
Ce qui n'empêche pas, bien sûr, de vérifier quand même taille et contenu des fichiers
0

#5 L'utilisateur est hors-ligne   rikew 

  • Groupe : Actif
  • Messages : 19
  • Inscrit(e) : 30-janvier 08

Posté 24 octobre 2008 - 13:38

Voir le messagerikew, le vendredi 10 octobre 2008 à 16:04, dit :

Pour les photos il est peut être possible de recuperer les dimentions mais je n'ai jamais testé.


Alors j'ai testé sur IE ...
il est possible de recuperer les dimentions avec javascript mais uniquement si le script est en local ...
donc ca ne fonctionne pas.
0

#6 L'utilisateur est hors-ligne   b0b0 

  • Groupe : Hubmaster
  • Messages : 208
  • Inscrit(e) : 14-octobre 08
  • Genre:Homme
  • Localisation:Seville, Espagne
  • Société:BLWorks

Posté 25 octobre 2008 - 08:30

Salut,

si je ne dis pas de bêtises, on peut avec un CGI connaitre le montant de données envoyées par POST, et couper l'envoi si celui ci dépasse un certain quota.

ex de code tiré d'un cgi :
my($u_size) = $ENV{'CONTENT_LENGTH'};
if ($u_size > $max_size) {send_error ("Upload too big.  Maximum size is $max_size bytes");}

sub send_error {
	my $fh;
	my $err_msg = shift;
	$supress_end_error = 1;
		$error = 1;
		close (STDIN);
	exit;
}


en pensant aider...

b0b0
si c'est pas cassé, touche pas !
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)