J'ai besoin d'afficher la taille de l'image en kilooctets et la dimension (hauteur, largeur) à l'aide de javascript/jquery. Je suis tombé sur quelques messages similaires, mais aucun ne pouvait m'aider. J'ai deux jeux de codes, qui fonctionnent séparément. Je n'arrive pas à comprendre comment les assembler.
C'est le code html:
<span id="preview"></span>
<input type="file" id="file" onchange="displayPreview(this.files);"/>
Ce morceau de code vérifie la taille du fichier et prévisualise l'image:
function onFileLoad(e) {
$('#preview').append('<img src="'+e.target.result +'"/>');
}
function displayPreview(files) {
var reader = new FileReader();
reader.onload = onFileLoad;
reader.readAsDataURL(files[0]);
fileSize = Math.round(files[0].size/1024);
alert("File size is "+fileSize+" kb");
}
Ce morceau de code vérifie la taille du fichier:
var _URL = window.URL || window.webkitURL;
$("#file").change(function (e) {
var file, img;
if ((file = this.files[0])) {
img = new Image();
img.onload = function () {
alert(this.width + " " + this.height);
};
img.src = _URL.createObjectURL(file);
}
});
Aidez-moi à rassembler ces codes et à afficher ensemble la taille et la dimension.
Pour utiliser les deux codes, il vous suffit de les combiner dans la fonction displayPreview
. Vous pouvez créer l'objet image qui sera ajouté à la preview
et trouver sa taille, sa largeur et sa hauteur dans la même fonction.
var _URL = window.URL || window.webkitURL;
function displayPreview(files) {
var file = files[0];//get file
var img = new Image();
var sizeKB = file.size / 1024;
img.onload = function() {
$('#preview').append(img);
alert("Size: " + sizeKB + "KB\nWidth: " + img.width + "\nHeight: " + img.height);
}
img.src = _URL.createObjectURL(file);
}
Tu peux essayer comme ça
HTML
<span id="preview"></span>
<input type="file" id="file" />
JQUERY
var _URL = window.URL || window.webkitURL;
function displayPreview(files) {
var img = new Image(),
fileSize = Math.round(files.size / 1024);
img.onload = function () {
var width = this.width,
height = this.height,
imgsrc = this.src;
doSomething(fileSize, width, height, imgsrc); //call function
};
img.src = _URL.createObjectURL(files);
}
// Do what you want in this function
function doSomething(size, width, height, imgsrc) {
$('#preview').append('<img src="' + imgsrc + '">');
alert("Size=" + size);
alert("Width=" + width + " height=" + height);
}
Les deux méthodes
Jsfiddle http://jsfiddle.net/code_snips/w4y75/ Jsfiddle http://jsfiddle.net/code_snips/w4y75/1/
Comment obtenir une largeur et une hauteur d'image à l'aide de jquery
Découvrez la largeur et la hauteur de l'image lors du téléchargement d'une image à l'aide de jQuery
Taille et dimension du fichier image de téléchargement
var _URL = window.URL || window.webkitURL;
$("#myfile").change(function (e) {
var file, img;
if ((file = this.files[0])) {
img = new Image();
img.onload = function () {
var wid = this.width;
var ht = this.height;
alert(this.width + " " + this.height);
alert(wid);
alert(ht);
};
img.src = _URL.createObjectURL(file);
}
});