$(function () { setTimeout(uploaderInput,1000); function uploaderInput(){ // 允许上传的图片类型 var allowTypes = ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']; var maxSize = 1024 * 1024*20; // 10240KB,也就是 10MB var maxWidth = 1900; // 图片最大宽度 // var $gallery = $("#gallery"), $galleryImg = $("#galleryImg"), $uploaderInput = $("#uploaderInput"), $uploaderFiles = $("#uploaderFiles"); $uploaderInput.on("change",function (e) { files = e.target.files; // 如果没有选中文件,直接返回 if (files.length === 0) { return; } for (var i = 0, len = files.length; i < len; ++i) { var file = files[i]; var imgID = genGUID(); var reader = new FileReader(); var fileType = file.type; // 如果类型不在允许的类型范围内 if (allowTypes.indexOf(file.type) === -1) { $.toast('该类型不允许上传' + fileType); continue; } if (file.size > maxSize) { $.toast("图片太大,不允许上传"); continue; } // if ($('.weui-uploader__file').length >= maxCount) { // $.toast('最多只能上传' + maxCount + '张图片', "forbidden"); // return; // } var base64; reader.onload = function (e) { $.showLoading("上传中"); var img = new Image(); img.onload = function () { // 不要超出最大宽度 var w = Math.min(maxWidth, img.width); // 高度按比例计算 var h = img.height * (w / img.width); var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); // 设置 canvas 的宽度和高度 canvas.width = w; canvas.height = h; ctx.drawImage(img, 0, 0, w, h); base64 = canvas.toDataURL(fileType,0.6); //0.6指的是压缩60% // 插入到预览区 // $uploaderFiles.find('.upload_imgs').before($(tmpl.replace('#url#', base64).replace('#ImgID#', imgID))); // var num = $('.weui-uploader__file').length; // $('#uploadCount').text(num); // 模拟上传进度 // var progress = 0; // function uploading() { // $uploaderFiles.find('.weui_uploader_status_content').text(++progress + '%'); // if (progress < 100) { // setTimeout(uploading, 30); // } else { // $uploaderFiles.removeClass('weui_uploader_status').find('.weui_uploader_status_content').remove();//清除上传进度图标 // } // } // setTimeout(uploading, 30); }; img.src = e.target.result; var FormDatas = new FormData(); FormDatas.append("file", file); //这里实现上传 $.ajax({ url: uploadUrl, type: 'POST', data: FormDatas, contentType: false, processData: false, success: function (res) { if (res.code === '200') { var str = `