javascript实现图片预览和上传(兼容IE)代码分享
这篇文章主要为大家详细介绍了javascript图片预览和上传的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了js图片预览和上传的具体代码,供大家参考,具体内容如下
var dailiApply = { change: function (evt) { evt.preventDefault(); var pic = document.getElementById("preview"), file = document.getElementById("f"); var ext=file.value.substring(file.value.lastIndexOf(".")+1).toLowerCase(); // gif在IE浏览器暂时无法显示 if(ext!='png'&&ext!='jpg'&&ext!='jpeg'){ alert("图片的格式必须为png或者jpg或者jpeg格式!"); return; } var isIE = navigator.userAgent.match(/MSIE/)!= null, isIE6 = navigator.userAgent.match(/MSIE 6.0/)!= null; if(isIE) { file.select(); var reallocalpath = document.selection.createRange().text; // IE6浏览器设置img的src为本地路径可以直接显示图片 if (isIE6) { pic.src = reallocalpath; }else { // 非IE6版本的IE由于安全问题直接设置img的src无法显示本地图片,但是可以通过滤镜来实现 pic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='image',src=\"" + reallocalpath + "\")"; // 设置img的src为base64编码的透明图片 取消显示浏览器默认图片 pic.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='; } }else { var file_arr = file.files; var ul = $(".weui_uploader_files"); if(file_arr.length < 7) { for(var key in file_arr) { if(file_arr.hasOwnProperty(key)) { var f = file_arr[key]; var url = URL.createObjectURL(f); var reader = new FileReader(); console.log(f); reader.readAsDataURL(f); n +=1; if(n < 7) { reader._onload = function(e) { // 拼接显示预览图片的html var list = $("<li class='weui_uploader_file' style='position: relative'>" + "<img id='preview" + n + "' class=preview_li' style='width: 100%;height: 100%'>" + "<span id='delImg" + n+ "' style='position: absolute; top: 0; right: 4px; color: #e4007f'>X</span></li>"); ul.append(list); // 将转化后的图片地址放在img中 var pic = document.getElementById('preview' + n); //pic.src = this.result; pic.src=url; dailiApply.compress(f, .7,undefined); //images.push(f); document.getElementById('delImg' + n).addEventListener("click", function () { $(this).parent().remove(); --n; }); }; reader._onload(); }else { $.alert("最多上传6张图片"); n = 6; } } } }else { $.alert("最多上传6张图片"); } } return false; }, /** * @param {Object} f input选择的图片 必填 * @param {String} quality 图片压缩的质量[0, 1] * @param {String} output_img_type 输出图片的类型 */ compress: function (f, quality, output_img_type) { var mime_type = "image/jpeg"; if(output_img_type!=undefined && output_img_type=="image/png"){ mime_type = "image/png"; } createImageBitmap(f).then(function(imageBitmap) { var max = 1000; // 设置最大分辨率 var c_w = ''; var c_h = ''; var width = imageBitmap.width; var height = imageBitmap.height; // 等比例缩放 if (width > max || height > max) { if (width > height) { c_w = max; c_h = max * height / width; } else { c_h = max; c_w = max * width / height; } }else { // 不缩放 c_w = width; c_h = height; } var canvas = document.createElement('canvas'); canvas.width = c_w; canvas.height = c_h; var ctx = canvas.getContext('2d'); ctx.drawImage(imageBitmap,0,0, width, height, 0, 0, c_w, c_h); canvas.toBlob(function(blob){ images.push(blob); },mime_type, quality); }); }, submit: function () { var content = $(".weui_textarea").val().trim(); var xhr = new XMLHttpRequest(); var fd = new FormData(document.getElementById('uploadForm')); $.each(images,function(i,e){ fd.append("images", e); }); fd.append("remark", content); fd.append("substationproxyId", 8); console.log(images); console.log(fd); if(content) { $.ajax({ url: CONFIG.API.addSubProxyRecruit, type: "POST", data: fd, processData: false, // tell jQuery not to process the data contentType: false, // tell jQuery not to set contentType beforeSend: function (xhr) { $.showLoading(); $(this).prop("disabled", true) }, success: function (json) { console.log(json); $.hideLoading(); $(this).prop("disabled", false); if(json.errorCode == 0) { $.alert("保存成功", function () { location.reload(); }) }else if(json.errorCode == "-101") { $.alert('出错:' +json.message, function () { location.href = CONFIG.HTML.login; }); }else { $.alert(json.message, function () { }) } } }); }else { $.alert('请输入内容'); } } };
相关文章:
详解html5图片上传支持图片预览压缩及进度显示兼容IE6及标准浏览器
JavaScript进阶(八)JS实现图片预览并导入服务器功能
Atas ialah kandungan terperinci javascript实现图片预览和上传(兼容IE)代码分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

1. Buka Muzik Kugou dan klik pada gambar profil anda. 2. Klik ikon tetapan di penjuru kanan sebelah atas. 3. Klik [Muat Naik Muzik Berfungsi]. 4. Klik [Muat Naik Berfungsi]. 5. Pilih lagu dan klik [Seterusnya]. 6. Akhir sekali klik [Muat naik].

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Dengan kemunculan era digital, platform muzik telah menjadi salah satu cara utama untuk orang ramai memperoleh muzik. Namun, kadangkala apabila kita mendengar lagu, kita dapati tiada lirik yang sangat mengganggu. Ramai yang berharap lirik dapat dipaparkan ketika mendengar lagu untuk lebih memahami isi dan emosi lagu tersebut. QQ Music, sebagai salah satu platform muzik terbesar di China, turut menyediakan pengguna dengan fungsi memuat naik lirik, supaya pengguna dapat menikmati muzik dengan lebih baik dan merasai konotasi lagu tersebut. Berikut akan memperkenalkan cara memuat naik lirik pada QQ Music. pertama

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

Kelajuan muat naik menjadi sangat perlahan? Saya percaya ini adalah masalah yang akan dihadapi oleh ramai rakan apabila memuat naik sesuatu pada komputer mereka Jika rangkaian tidak stabil semasa menggunakan komputer untuk memindahkan fail, kelajuan muat naik akan menjadi sangat perlahan. Di bawah, editor akan memberitahu anda bagaimana untuk menyelesaikan masalah kelajuan muat naik komputer yang perlahan. Apabila bercakap tentang kelajuan rangkaian, kita semua tahu bahawa kelajuan membuka halaman web, kelajuan muat turun, dan kelajuan muat naik juga sangat kritikal, terutamanya sesetengah pengguna sering perlu memuat naik fail ke cakera rangkaian, jadi kelajuan muat naik yang pantas sudah pasti akan menjimatkan. anda banyak wang. Kurang masa, apa yang perlu saya lakukan jika kelajuan muat naik perlahan? Di bawah, editor membawakan anda gambar dan teks tentang cara menangani kelajuan muat naik komputer yang perlahan. Bagaimana untuk menyelesaikan masalah kelajuan muat naik komputer yang perlahan Klik "Mula--Jalankan" atau "Kunci Tetingkap"?

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

Selagi komputer dilengkapi dengan kamera, ia boleh mengambil gambar, tetapi sesetengah pengguna masih tidak tahu bagaimana untuk mengambil gambar dan memuat naiknya Sekarang saya akan memberikan pengenalan terperinci kepada anda tentang kaedah mengambil gambar di komputer. supaya pengguna boleh memuat naik gambar di mana sahaja mereka mahu. Cara mengambil foto dan memuat naiknya pada komputer 1. Komputer Mac 1. Buka Finder dan klik aplikasi di sebelah kiri. 2. Selepas dibuka, klik aplikasi Kamera. 3. Hanya klik butang foto di bawah. 2. Komputer Windows 1. Buka kotak carian di bawah dan masukkan kamera. 2. Kemudian buka aplikasi yang dicari. 3. Klik butang foto di sebelahnya.
