Baru -baru ini, saya membuat aplikasi HTML5 seluler. lambat.
Saya menemukan kerangka kompresi LocalResizeIMG untuk waktu yang lama di internet.
Langkah 1: Unduh LocalResizeImgLocalResizeImg ditempatkan di GitHub, alamatnya adalah: https://github.com/think2011/localressizeimg.
Langkah 2: Memperkenalkan JS terkait LocalResizeIMG di Engineering WebDecaze localressizeimg untuk mengompresnya, menyalin folder distal di direktori ke proyek, dan saya memasukkannya ke direktori JS.
Kemudian impor jQuery dan localressizeimg JS di JS mereka sendiri. menyukai:
<span style = white-point: pre> </span> <script src = <c: nilai url =/js/jQuery/jQuery-1.10.0.min.js/>> </scan style = White -space: Pre> </span> <type skrip = teks/javascript src = <c: nilai url =/js/lrz/distal/lrz.bundle.js/>> </script>Langkah 3: Tambahkan acara Onchange ke kotak file input unggahan Anda sendiri.
<Input Type = File ID = PayFile Name = MyFile Style = Display: None;
Menerapkan kompresi kode dalam metode FileChange dan transmisi asinkron dari base64 yang dihasilkan setelah dikompresi ke latar belakang
Fungsi filechange (itu) {var filepath = $ (itu). if (.jpg | .png | .bmp | .jpeg.touppercase (). indexOf (ext.touppercase ()) ==-1) {waspada (hanya diizinkan JPG, PNG, BMP, gambar format JPEG); } // Gunakan lebar gambar menjadi 800 untuk mengompres LRZ (that.files [0], {width: 800}) .tHenction (function (rst) {// unggah $ .AJAX Asynchronous setelah kompresi $ .AJAX ({URL : <%= request.getContextPath ()%>/Common/FileUploadPiction, Type: Post, Data: {imgdata: rst.base64 // Nilai dasar terkompresi}, DataType: JSON, Cache: Fals E, Async: False, Success: Function (data) {if (data.success) {alert (data.message); Pesan adalah penyebab kegagalan unggah}}, kesalahan: fungsi () {waspada (unggah gagal);});});};} Langkah 4: Pengendali MVC Musim Semi menerima nilai dasar di latar belakang dan parsing dan menyimpan file Impor sun.misc.base64decoder; // class base64 intrastable/*** unggah file*/ @responsebody @RequestMapping (Common/Fileupricture) FileUploadpi Cture (String ImgData, File, httpservletequest permintaan) {Logger.info ([unggah file httpservlet unggah (fileuploadpiction File) [params: imgdata = +imgdata +]); Simpan file direktori root saat ini ImageFile = file baru (imgpath); ) [1]); // decoding untuk (int i = 0; i <result.length; ++ i) {if (hasil [i] <0) {// sesuaikan hasil data abnormal [i] += 256 ;}} outputStream.write (hasil); Hasil (false, unggahan file gagal);} catch (pengecualian e) {logler.error ([fileupload)] [kesalahan: + e +]); ();Kelas Hasil:
Implementasi kelas publik; .success = sukses; SetMessage (string message) {this.message = message;} @Override public string toString () {return result [success = + success +, message = + message +];}}Di atas adalah semua langkah.