Bagaimana saya bisa mendapatkan ukuran file, tinggi dan lebar gambar sebelum diunggah ke situs web saya, dengan jQuery atau JavaScript?
javascript
jquery
html
dimensions
image-size
Afshin
sumber
sumber
Jawaban:
Beberapa gambar diunggah dengan pratinjau data info
Menggunakan HTML5 dan File API
Contoh menggunakan URL API
Sumber gambar akan menjadi URL yang mewakili objek Blob
<img src="blob:null/026cceb9-edr4-4281-babb-b56cbf759a3d">
Contoh menggunakan API FileReader
Jika Anda memerlukan sumber gambar selama string data yang dikodekan Base64
<img src="data:image/png;base64,iVBORw0KGg... ...lF/++TkSuQmCC=">
sumber
Jika Anda dapat menggunakan plugin validasi jQuery, Anda dapat melakukannya seperti ini:
Html:
JavaScript:
Fungsi ini diteruskan sebagai fungsi onload ab.
Kode diambil dari sini
sumber
Demo
Tidak yakin apakah itu yang Anda inginkan, tetapi hanya contoh sederhana:
sumber
Berikut adalah contoh JavaScript murni untuk memilih file gambar, menampilkannya, mengulang melalui properti gambar, dan kemudian mengubah ukuran gambar dari kanvas menjadi tag IMG dan secara eksplisit mengatur jenis gambar yang diubah ukurannya ke jpeg.
Jika Anda mengklik kanan gambar atas, di tag kanvas, dan memilih Simpan File Sebagai, itu akan default ke format PNG. Jika Anda mengklik kanan, dan Save File sebagai gambar bawah, itu akan default ke format JPEG. File apa pun yang lebarnya lebih dari 400px dikurangi menjadi 400px, dan tingginya sebanding dengan file aslinya.
HTML
NASKAH
Ini adalah jsFiddle:
jsFiddle Memilih, menampilkan, mendapatkan properti, dan mengubah ukuran file gambar
Di jsFiddle, mengklik kanan gambar atas, yang merupakan kanvas, tidak akan memberi Anda opsi penyimpanan yang sama seperti mengklik kanan gambar bawah di tag IMG.
sumber
Sejauh yang saya tahu tidak ada cara mudah untuk melakukan ini karena Javascript / JQuery tidak memiliki akses ke sistem file lokal. Ada beberapa fitur baru di html 5 yang memungkinkan Anda untuk memeriksa data meta tertentu seperti ukuran file tetapi saya tidak yakin apakah Anda benar-benar bisa mendapatkan dimensi gambar.
Berikut adalah artikel yang saya temukan mengenai fitur html 5, dan solusi untuk IE yang melibatkan penggunaan kontrol ActiveX. http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html
sumber
Jadi saya mulai bereksperimen dengan berbagai hal yang ditawarkan API FileReader dan dapat membuat tag IMG dengan URL DATA.
Kekurangan: Ini tidak berfungsi di ponsel, tetapi berfungsi dengan baik di Google Chrome.
(lihat ini di jsfiddle di http://jsfiddle.net/eD2Ez/530/ )
(lihat jsfiddle asli yang saya tambahkan di http://jsfiddle.net/eD2Ez/ )
sumber
Contoh validasi jQuery yang berfungsi:
sumber