capturer la taille du fichier avant upload via type="file"

capturer la taille du fichier avant upload via type="file" - HTML/CSS - Programmation

Marsh Posté le 26-01-2006 à 10:30:16    

Bonjours
J'aurais voulu savoir comment il était possible de capturer la taille du fichier avant l'upload en javascript. car l'attribut maxlenght d'un "<input type=file ..." ne sert à rien il ne fait rien de special j'ai l'impression :/
Je voudrais refuser l'envoy ou du moin indiquer que le fichier est trop gros.
Merci


Message édité par Berceker United le 26-01-2006 à 10:30:38
Reply

Marsh Posté le 26-01-2006 à 10:30:16   

Reply

Marsh Posté le 26-01-2006 à 10:40:14    

Ca ne peut se faire que du coté serveur, soit en limitant la taille max de l'upload utilisé dans POST soit en controlant à posteriori la taille du fichier enregistré. J'ai entendu parlé d'objets Javascript permettant de traiter des fichiers chez le client mais c'est du IE only donc :/


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 26-01-2006 à 10:44:02    

boulax a écrit :

Ca ne peut se faire que du coté serveur, soit en limitant la taille max de l'upload utilisé dans POST soit en controlant à posteriori la taille du fichier enregistré. J'ai entendu parlé d'objets Javascript permettant de traiter des fichiers chez le client mais c'est du IE only donc :/


J'ai un traitement coté serveur pour l'imiter la taille mais il y a quand même l'envoy du fichier donc perte de temps.
Je voulais juste récupérer la taille s'il y a un objet le permettant cela m'arrangerais bien parce que je dev seulement pour IE (c'est l'intranet entreprise).

Reply

Marsh Posté le 26-01-2006 à 10:48:04    

Ok alors cherche "Scripting.FileSystemObject" à instancier via activeX. Reste à voir si y'a une méthode renvoyant la taille du fichier.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 26-01-2006 à 10:48:51    

Nan aucun navigateur ne retourne la taille du fichier apparament, donc c'est DTC bien profond PpHpy


Message édité par gatsu35 le 26-01-2006 à 10:52:21
Reply

Marsh Posté le 26-01-2006 à 10:58:51    

wouinnnn c'est balo  :cry:  
Merci quand même !

Reply

Marsh Posté le 26-01-2006 à 11:13:39    

c'est dommage mais c'est comme ça :/ ca me paraît évident pourtant, quand tu poste un formulaire avec un fichier, d'office le fichier est envoyé sur le serveur :/
 
je ne vois pas d'autres alternatives :/ j'avais fait le test sur hotmail il y a quelques temps de cela. j'avais posté un fichiers de 10 mo et j'ai attendu que le fichier soit uploadé pour avoir la réponse : nan vous avez pas le droit :/
Donc si les gars de chez MS ont pas réussis, je ne pense pas que tu puisse le faire en PHP mon pphpy

Reply

Marsh Posté le 26-01-2006 à 11:58:18    

gatsu35 a écrit :

c'est dommage mais c'est comme ça :/ ca me paraît évident pourtant, quand tu poste un formulaire avec un fichier, d'office le fichier est envoyé sur le serveur :/
 
je ne vois pas d'autres alternatives :/ j'avais fait le test sur hotmail il y a quelques temps de cela. j'avais posté un fichiers de 10 mo et j'ai attendu que le fichier soit uploadé pour avoir la réponse : nan vous avez pas le droit :/
Donc si les gars de chez MS ont pas réussis, je ne pense pas que tu puisse le faire en PHP mon pphpy


Cette arguement ce tien concernant hotmail. néanmoins je pensais qu'il était possible de capturer la taille du fichier car il y a des attributs et l'élément max_fil ... quelque chose comme ça a placer dans un champs caché . Bon bref c'est pas grave.
merci

Reply

Marsh Posté le 26-01-2006 à 12:01:04    

Attend papy, je fais des recherches et des tests la dessus au sujet de cet attribut et je te redis

Reply

Marsh Posté le 26-01-2006 à 12:03:43    

ya aucun attribut spécifique pour ça. input file a les meme attributs que les autres inputs :/

Reply

Marsh Posté le 26-01-2006 à 12:03:43   

Reply

Marsh Posté le 26-01-2006 à 12:11:06    

gatsu35 a écrit :

ya aucun attribut spécifique pour ça. input file a les meme attributs que les autres inputs :/


il y a un attribut  maxlength="xxxx"
et/ou il y a <input type="hidden" name="MAX_FILE_SIZE" value="500000" />  
c'est de cela que je voulais parler.
je me suis dit que si c'est attributs existe c'est qu'avant il peut capter éventuellement la taille du fichier mais bon je pense que ça rien à voir car ces informations ont pour but d'être capté par un CGI sur le serveur :/ donc effectivement le javascript ne peut pas capturer cette info sauf en y executant un petit vb mais bon pas le temps.

Reply

Marsh Posté le 26-01-2006 à 12:21:48    

toi qui fait du PHP depuis longtemps et qui a même fait un très bon topic FAQ sur php, je suis étonné de ta question  :heink:  
 
il existe un attribut maxlength="xxxxx", mais il correspond juste au nombre de caractères maximum dans le <input> mais dans le <input type="file"> il n'a aucune utilité  :)  
 
ce truc : <input type="hidden" name="MAX_FILE_SIZE" value="500000" />  
n'est ni plus ni moins qu'un simple <input> à deux balles
et en plus il n'a rien à faire du coté HTML, puisque avec un prog comme greasemonkey ou autre je peux modifier la valeur de cet input, mettre 10000000 si je veux et poster un fichier de la taille d'un CD :/ yaura un timeOut bien avant mais bon :D
 
C'est plutôt du coté serveur que l'on devrait voir une constante nommé MAX_FILE_SIZE dans la page de traitement ;)


Message édité par gatsu35 le 26-01-2006 à 12:23:04
Reply

Marsh Posté le 26-01-2006 à 12:28:09    

oui c'est que je disais c'est que ce input en question n'est là que pour renseigner un cgi mais en soit il ne fait rien. effectivement maxlenght c'est le nombre de caractere j'ai confondu, j'ai fais les choses un peut trop vite.
 
Je me suis remis dans mes tres vieux cours ou le type file est un cas particulier. pour des raisons de sécurité il n'est pas possible de faire certaine chose comme editer la value ou connaitre la taille d'un fichier demandé. <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> était là pour compenser ce manque d'information mais bon c'est un vieux reste de l'epoque ou je faisais du  cgi (perl) .
pour mon cas c'est pas tellement grave la taille du fichier est déjà limité coté server c'était juste pour le conford de l'utilisateur.

Reply

Marsh Posté le 26-01-2006 à 12:37:40    

Berceker United a écrit :

oui c'est que je disais c'est que ce input en question n'est là que pour renseigner un cgi mais en soit il ne fait rien. effectivement maxlenght c'est le nombre de caractere j'ai confondu, j'ai fais les choses un peut trop vite.
 
Je me suis remis dans mes tres vieux cours ou le type file est un cas particulier. pour des raisons de sécurité il n'est pas possible de faire certaine chose comme editer la value ou connaitre la taille d'un fichier demandé. <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> était là pour compenser ce manque d'information mais bon c'est un vieux reste de l'epoque ou je faisais du  cgi (perl) .
pour mon cas c'est pas tellement grave la taille du fichier est déjà limité coté server c'était juste pour le conford de l'utilisateur.


 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed