Muat naik mampatan imej pada pelayar html5 kanvas mudah alih_html5 kemahiran tutorial
WBOY
Lepaskan: 2016-05-16 15:45:33
asal
2240 orang telah melayarinya
Apabila mereka bentuk fungsi muat naik avatar pada terminal mudah alih baru-baru ini, ia pada asalnya dimuat naik terus melalui formData dengan Walau bagaimanapun, penggunaan sebenar ialah: untuk gambar yang terlalu besar (foto yang diambil oleh telefon bimbit piksel tinggi) dsb.) Masa muat naik yang terlalu lama akan menyebabkan muat naik gagal, dan memuat naik saiz asal imej setiap kali (mampatan pemprosesan latar belakang) akan sangat mempengaruhi pengalaman pengguna, jadi saya mengkaji kaedah memampatkan imej melalui kanvas dan memuat naiknya Berikut adalah beberapa idea dan Pemikiran:
1. Kesukaran di sini ialah: disebabkan oleh mekanisme perlindungan penyemak imbas, laluan imej fail tempatan tidak boleh diperoleh secara langsung, jadi imej tempatan perlu disusun ke dalam format base64 dan kemudian dimuat naik , kodnya adalah seperti berikut:
Kod JavaScriptSalin kandungan ke papan keratan
var hasil = document.getElementById("/* Blok paparan mesej ralat */"); 🎜>
var input = document.getElementById("/* Muat naik teg fail */"); >
// URL akhir yang diperolehi ialah pengekodan imej termampat, yang boleh digunakan untuk memuat naik atau terus menjana teg img
Beberapa perkara yang perlu diperhatikan di sini ialah: 1. Akan berlaku ralat semasa menyahpepijat secara setempat Sebabnya ialah masalah merentas domain dan perlu dinyahpepijat di bahagian pelayan
2. Kaedah drawImage() dalam kanvas mempunyai fungsi pemangkasan imej, tetapi jika regangan dan pemangkasan imej ditulis pada masa yang sama, kaedah pemangkasan akan dilaksanakan dahulu
3. Apabila menggunakan AJAX untuk memuat naik pengekodan imej, tanda tambah dalam pengekodan akan ditukar menjadi ruang, menyebabkan kompilasi latar belakang gagal;
4. Kaedah memilih dan memuat naik kawasan imej masih dalam peringkat percubaan, dan saya akan menambah pengalaman saya nanti. Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang. Teks asal:
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