Bagaimanakah Saya Boleh Mendapatkan Saiz dan Dimensi Fail Imej dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-11-10 10:38:02
asal
212 orang telah melayarinya

How Can I Get Image File Size and Dimensions in JavaScript?

Menentukan Saiz dan Dimensi Fail Imej dalam Javascript

Dalam aplikasi web, menentukan saiz fail imej (dalam kb) dan resolusi terus daripada konteks penyemak imbas adalah penting untuk pelbagai tujuan, seperti memaparkan maklumat ini pada halaman. Artikel ini meneroka penyelesaian untuk mencapai fungsi merentas penyemak imbas ini tanpa bergantung pada kawalan ActiveX atau applet Java.

Mengambil Dimensi Imej

Untuk mendapatkan saiz piksel elemen imej dalam pelayar, tidak termasuk sempadan dan margin, seseorang boleh menggunakan clientWidth dan clientHeight sifat:

var img = document.getElementById('imageId'); 

var width = img.clientWidth;
var height = img.clientHeight;
Salin selepas log masuk

Menentukan Saiz Fail

Malangnya, API penyemak imbas kekurangan sokongan langsung untuk mengakses saiz fail imej. Walau bagaimanapun, penyelesaian melibatkan membuat permintaan HTTP HEAD menggunakan Ajax:

var xhr = new XMLHttpRequest();
xhr.open('HEAD', 'img/test.jpg', true);
xhr.onreadystatechange = function(){
  if ( xhr.readyState == 4 ) {
    if ( xhr.status == 200 ) {
      alert('Size in bytes: ' + xhr.getResponseHeader('Content-Length'));
    } else {
      alert('ERROR');
    }
  }
};
xhr.send(null);
Salin selepas log masuk

Nota: Kaedah ini tertakluk pada dasar asal yang sama, membenarkan permintaan hanya dalam domain yang sama.

Pertimbangan Tambahan

  • Pertimbangan Nilai pengepala Kandungan-Panjang mungkin tidak menggambarkan saiz imej sebenar dengan tepat jika respons dimampatkan (cth., gzip).
  • Untuk mendapatkan dimensi imej asal tanpa memuatkan imej sepenuhnya ke dalam dokumen, cipta elemen imej secara pengaturcaraan dan tetapkan sumber imej:
var img = document.createElement('img');

img.onload = function () { alert(img.width + ' x ' + img.height); };

img.src='http://sstatic.net/so/img/logo.png';
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Saiz dan Dimensi Fail Imej dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan