Existe-t-il un moyen de connaître la taille du fichier avant de télécharger le fichier en utilisant AJAX / PHP en cas de changement du fichier d'entrée?
javascript
jquery
ajax
file-upload
filesize
Nisanth Kumar
la source
la source
Réponses:
Pour le HTML ci-dessous
essayez ce qui suit:
Voir le fil suivant:
Comment vérifier la taille d'entrée du fichier avec jQuery?
la source
FileList.files
est un tableau ressemblant à desFile
objets, ce qui est une extension deGlob
. Et selon la spécification ,Glob
définit en effet lasize
propriété comme le nombre d' octets (0 pour un fichier vide). Alors oui, le résultat est en octets .Travailler sur IE et FF
la source
Voici un exemple simple d'obtention de la taille d'un fichier avant le téléchargement. Il utilise jQuery pour détecter chaque fois que le contenu est ajouté ou modifié, mais vous pouvez toujours obtenir
files[0].size
sans utiliser jQuery.la source
J'ai eu le même problème et il semble que nous n'avons pas eu de solution précise. J'espère que cela peut aider d'autres personnes.
Après avoir pris le temps d'explorer, j'ai finalement trouvé la réponse. Voici mon code pour obtenir une pièce jointe avec jQuery:
Ceci est juste un exemple de code pour obtenir la taille du fichier. Si vous voulez faire d'autres choses, n'hésitez pas à changer le code pour satisfaire vos besoins.
la source
Meilleure solution fonctionnant sur tous les navigateurs;)
de http://www.dotnet-tricks.com/Tutorial/jquery/HHLN180712-Get-file-size-before-upload-using-jquery.html
MISE À JOUR: Nous utiliserons cette fonction pour vérifier si c'est un navigateur IE ou non
la source
la source
Les navigateurs prenant en charge HTML5 ont des propriétés de fichiers pour le type d'entrée. Cela ne fonctionnera bien sûr pas dans les anciennes versions d'IE.
la source
La solution d'ucefkh fonctionnait mieux, mais comme $ .browser était obsolète dans jQuery 1.91, a dû changer pour utiliser navigator.userAgent:
la source
vous devez faire une requête ajax HEAD pour obtenir la taille du fichier. avec jquery c'est quelque chose comme ça
la source
Veuillez ne pas l'utiliser
ActiveX
car il y a de fortes chances qu'il affiche un message d'avertissement effrayant dans Internet Explorer et effraie vos utilisateurs.Si quelqu'un souhaite implémenter cette vérification, il ne doit s'appuyer que sur l' objet FileList disponible dans les navigateurs modernes et se fier aux contrôles côté serveur uniquement pour les navigateurs plus anciens ( amélioration progressive ).
la source
Vous pouvez utiliser la fonction de taille de fichier PHP. Pendant le téléchargement en utilisant ajax, veuillez d'abord vérifier la taille du fichier en faisant une requête une requête ajax au script php qui vérifie la taille du fichier et renvoie la valeur.
la source
Vous pouvez en utilisant l'API de fichier HTML5: http://www.html5rocks.com/en/tutorials/file/dndfiles/
Cependant, vous devriez toujours avoir une solution de secours pour PHP (ou tout autre langage d'arrière-plan que vous utilisez) pour les navigateurs plus anciens.
la source
Personnellement, je dirais la réponse de Web World est la meilleure aujourd'hui, compte tenu des normes HTML. Si vous devez prendre en charge IE <10, vous devrez utiliser une forme d'ActiveX. J'éviterais les recommandations qui impliquent le codage contre Scripting.FileSystemObject, ou l'instanciation directe d'ActiveX.
Dans ce cas, j'ai eu du succès en utilisant des bibliothèques JS tierces telles que plupload qui peuvent être configurées pour utiliser des apis HTML5 ou des contrôles Flash / Silverlight pour remplir les navigateurs qui ne les prennent pas en charge. Plupload a une API côté client pour vérifier la taille du fichier qui fonctionne dans IE <10.
la source