J'essaie de monter la vague HTML5 mais je suis confronté à un petit problème. Avant HTML5, nous vérifions la taille du fichier avec flash, mais maintenant la tendance est d'éviter d'utiliser le flash dans les applications web. Est-il possible de vérifier la taille du fichier côté client en utilisant HTML5?Client Vérification de la taille du fichier en utilisant HTML5?
Répondre
Cela fonctionne. Placez-le dans un écouteur d'événement lorsque l'entrée change.
if (typeof FileReader !== "undefined") {
var size = document.getElementById('myfile').files[0].size;
// check file size
}
"pas de solution simple multi-navigateur pour y parvenir": Detecting file upload size on the client side?
validation Ajouter de la taille du serveur ainsi, mais vous pourriez aussi bien sauver ceux avec les navigateurs modernes la douleur et vérifiez côté client aussi bien. –
HTML5 fie api prend en charge la vérification de la taille du fichier.
lire cet article pour obtenir plus d'informations sur le fichier api
http://www.html5rocks.com/en/tutorials/file/dndfiles/
<input type="file" id="fileInput" />
var size = document.getElementById("fileInput").files[0].size;
fichier API donne de la même nom et le type.
Uploadify pouvez télécharger des fichiers avec HTML5. Il y a aussi une version flash.
Vous pouvez définir les limites de taille de fichier, avec le paramètre 'fileSizeLimit'.
La réponse acceptée est réellement correcte, mais vous devez la lier à un écouteur d'événement afin qu'il soit mis à jour chaque fois que l'entrée du fichier est modifiée.
document.getElementById('fileInput').onchange = function(){
var filesize = document.getElementById('fileInput').files[0].size;
console.log(filesize);
}
Si vous utilisez la bibliothèque jQuery puis le code suivant peut être pratique
$('#fileInput').on('change',function(){
if($(this).get(0).files.length > 0){ // only if a file is selected
var fileSize = $(this).get(0).files[0].size;
console.log(fileSize);
}
});
Étant donné que la conversion du fileSize pour afficher dans lequel jamais métrique est à vous.
Votre exemple jQuery ne fonctionne pas. Vous ne semblez pas être en mesure d'utiliser jQuery avec '.files': https://jsfiddle.net/edxvo4wa/ (Je l'ai découvert moi-même quand je trouvais une solution - cela fonctionne si vous le changez en' document.getElementById'). –
@ Chuck désolé pour l'erreur là-bas, j'ai mis à jour ma réponse avec le travail – Ammadu
Personnellement, j'opter pour ce format:
$('#inputFile').bind('change', function(e) {
var data = e.originalEvent.target.files[0];
// and then ...
console.log(data.size + "is my file's size");
// or something more useful ...
if(data.size < 500000) {
// what your < 500kb file will do
}
}
Cela fonctionne pour moi dans IE 10, Mozilla FFx et Chrome. Merci! – Rahnzo
Ne fonctionne pas pour moi dans Chrome? https://jsfiddle.net/ffyvbm27/ –
fonctionne très bien, vous ne l'utilisez pas correctement; connectez-vous à l'événement onchange de l'entrée et tout ira bien. – dandavis