原来用的插件,里面东西太乱了,一会jq,一会原生js,本来原生js就不熟,看起来更难受,而且感觉好多东西都是没用的,而且后端php转存文件一直不是很熟悉,正好一起整理一下.就是很简单的一个demo,如果需要复杂的功能的话需要自己添加.但是原理基本都在这了,不是很熟的时候可以拿来看看直接用. html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g…
$('input[type="file"]').on('change',function(){ var files = !!this.files ? this.files : []; // Create a new instance of the FileReader var reader = new FileReader(); // Read the local file as a DataURL reader.readAsDataURL(files[0]); var blob =…
直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Content-Type:text/html;charset=utf-8"); ?> <head> <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"…
这是先将图片 base64转码 在拿canvas压缩的…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>上传文件</title> <script src="http://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript&quo…
最近在弄微信端的公众号.订阅号的相关功能,发现原本网页上用的uploadify图片上传功能到手机端有的手机类型上就不能用了,比如iphone,至于为啥我想应该不用多说了吧(uploadify使用flash实现上传的): 经过研究找到了一个手机端比较相对比较好用的插件实现图片上传,那就是megapix-image插件,比uploadify还是好用多了,下面就来上实例吧: html页面: <html> <body> <input type="file" cap…
讲干货,不啰嗦,当涉及对图片有质量压缩要求的时候,可以使用Canvas实现图片压缩. 步骤: 1.获取img元素,既要压缩的图片 2.创建canvas对象 3.使用canvas的drawImage方法绘制图片 4.通过canvas toDataURl方法获取图像base64编码,设置quality参数,实现压缩 参考示例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t…
现在手机拍的照片动不动就是几M,当用户上传手机里的照片时一个消耗流量大,一个上传时间长,为了解决这个问题,就需要压缩图片: 想法:利用canvas重绘图片,保持宽高比不变,具体宽高根本具体情况而定. 代码 : html: <input type="file" id="upload" /> <p>压缩前:</p> <img id="oldImg" src=""/> <p>…
1.canvas.toDataUrl压缩图片 canvas的toDataUrl方法可以将内容导出为base64编码格式的图片,采用base64编码将比源文件大1/3,但是该方法可以指定导出图片质量,所以前端可实现上传图片的压缩.先通过fileApi拿到本地图片地址,然后新建一个Img元素,图片绘制到canvas中后再将其导出(压缩).例如: $(':file').on('change',function(){         var file = this.files[0];         v…
canvas 画图图片变模糊问题 问题描述 在使用 canvas 对图片进行编辑导出图片之后发现图片和原图相比变得模糊了 canvas 画图线条变粗 问题产生原因 该问题在 PC 下面并不会产生,原因是移动端现在基本都是 Retina 屏(高倍屏),当在二倍屏下的时候,会以实际像素的两个像素点来描述一个像素,这个时候 canvas 在屏幕下面就等于占据了双倍的空间,就和图片被放大了两倍一样,所以经过 canvas 编辑的图片会变得模糊 canvas 画线的方式并不是从头开始画的,而是从无限细的一…
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>天气</title> </head> <body> <div id="app"> <h2>最新天气实况</h2> <p>城市:<span></spa…
最近在做一个H5的项目,里边涉及到拍照上传图片的功能以及识别图片的功能,这里对识别图片的功能不做赘述,不属本文范畴.我在做完并上线项目后,同事跟我提了一个要求是可不可以同时选择多张图片上传,我做的时候的想法是如果给file表单加了 multiple 属性就没有办法调用手机的摄像头拍照了,如果不加,就无法同时选择多张图片,于是我就照实跟同事说了这个情况.但回头一想,单张图片可以上传,那多张图片呢?于是就有了本文的内容. HTML5定义了 FileReader 作为文件 API 的重要成员用于读取文…
问题:前端开发过程中难免会将数据提交到后台,但若是提交的数据过大,特别上传图片这类需求,如果不对上传的图片进行压缩处理,就难免会出现请求时间过长的情况,对于用户体验肯定就不是太友好,那么这时候该如何将图片进行压缩呢? 直接上代码: 不过此cn.toblob()方法对于ios9或以下的苹果手机不支持,如果要开发的是h5 app的话,推荐使用native.js调用原生的压缩方式,进行压缩上传…
使用 signature_pad canvas 库生成的图片太大.但又没有提供方法来压缩. 当然这是根据你canvas的画布大小决定的,某些原因导致我的画布就得是那么大. 随随便便一个图片转化为base64 之后就是200kb-300kb.所以得想办法压缩. 思路就是把生成的base64 图片再一次放入canvas 中 ,然后等比缩小4倍即可. save () { if (this.$refs.signature.isEmpty() === false) { // https://github.…
市场上各种各样的图片处理器有很多,那么作为程序员的我们是不是应该自己做一个呢?那就从加水印开始吧 html: <canvas id="shuiyinTest"> </canvas> <div> <input id="shuiyinText" value="" type="text"/> <button id="shuiyinBtn" class=&quo…
function getImgBase64(path, callback) { var img = new Image(); img.src = path; //图片加载完成后触发 img.onload = function () { var canvas = document.createElement("canvas"); //获取绘画上下文 ctx = canvas.getContext("2d"); // 获取图片宽高 var imgWidth = img.…
去除压缩完后的头部标志,data:imge一直到,位置,然后看看有没有空格,有的就替换成+号,传送的时候+号被http协议去掉了…
document.addEventListener("error", function (e) { var elem = e.target; if (elem.tagName.toLowerCase() === 'img') { elem.src = '/Public/img/default/noImg.jpg'; } }, true); 就是这么简单!…
简单的分页,模拟数据,没有封装,显示原理,大家有兴趣可以自己封装,这里只是个原理过程,真正的分页也差不多是这个原理,只是请求数据不太一样,html部分: <!TOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>简单的分页,模拟数据,没有封装,显示原理</title> </head> <body> <div class=&…
初学b/s编程,花费了许多时间,进度颇慢! 不过终于完成了一个简单的例子: jsp代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&g…
使用Ajax访问本地TXT文件 ajax.js // 创建请求对象 var ajax = new XMLHttpRequest(); // 建立连接 ajax.open('get', 'test.txt'); // 发送请求 ajax.send() // 监听结果 ajax.onreadystatechange = function () { // readyState 状态值 status 状态码 if (ajax.readyState == 4 && ajax.status == 20…
简单判断用户名存在不存在,如果数据库存在此用户名,提示不能注册 前台代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <load href='__PUBLIC__/js/jquery-1.7.2.min.js'/> <script> $(…
一.图片上传前端压缩的现实意义 对于大尺寸图片的上传,在前端进行压缩除了省流量外,最大的意义是极大的提高了用户体验. 这种体验包括两方面: 由于上传图片尺寸比较小,因此上传速度会比较快,交互会更加流畅,同时大大降低了网络异常导致上传失败风险. 最最重要的体验改进点:省略了图片的再加工成本.很多网站的图片上传功能都会对图片的大小进行限制,尤其是头像上传,限制5M或者2M以内是非常常见的.然后现在的数码设备拍摄功能都非常出众,一张原始图片超过2M几乎是标配,此时如果用户想把手机或相机中的某个得意图片…
需求来源:之前有个提交审核表单的业务,表单中含有大量附件图片,大约有20多张吧,为了省事,采用的同步上传,一次需要上传很多照片,本来单张图片限制为200KB,这样子总图片大小约为5MB左右,想想也可以接收.业务上线后,得知用户大部分都是中老年人居多,手机拍照的图片很大,不会压缩.放开图片尺寸上传限制后,上传数据太大,体验很不好,就有了前台图片压缩的需求. 业务实现要点: 1.上传的图片使用canvas压缩图片,并导出base64字符串数据: 2.每一类型附件可以传多张图片,这些图片的base64…
手机端图片有很大的,上传的时候很慢,这时候就要压缩一下了,有一个开源的js可以压缩图片的大小,开源地址如下:https://github.com/think2011/localResizeIMG3 代码如下: // 上传图片 function uploadFile(path) { var type = plus.storage.getItem("upload_goods_image"); //选择成功 $("#heisebg").removeClass("…
css部分 .clip { position: absolute; clip: rect(0 0 0 0); } html部分 <input type="file" id="uploadFile" class="clip" accept="image/*"> <label class="ui-button ui-button-primary" for="uploadFile&qu…
这里注意一下,图片压缩后的宽度是画布宽度的一半 canvasToTempFilePath 创建画布的时候会有一定的时间延迟容易失败,这里加setTimeout来缓冲一下 这是单张图片压缩,多张的压缩暂时还没有成功,保存到服务器上后是空白的,如有大神望指点一二 <canvas canvas-id='photo_canvas' style='width:1000rpx;height:{{canvas_h}}px' class='myCanvas'></canvas> /**压缩图片 *…
jsonp.js/html 主要是利用jquery ajax和jsonp的datatype 跨站点请求数据,记录~ 同源策略:同端口,同协议,同域:所以ajax不能支持跨域取得数据,解决方案一般是jsonp但是它只支持get请求:诸如window.name,CORS; Html5中还有window.postMessage();都是解决方案 var tel; var ajax=function(){ $.ajax({ type: "get", url: 'http://tcc.taoba…
Jquery+ajax+json+servlet原理和Demo 大致过程: 用户时间点击,触发js,设置$.ajax,开始请求.服务器响应,获取ajax传递的值,然后处理.以JSON格式返回给ajax.ajax在sucess对应的函数中将返回的json数据进行解析,然后输出到jsp页面. 1.前台index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&qu…
使用ajax上传图片,支持图片即时浏览,支持js图片压缩后上传给服务器 ajax上传主要使用了 var reader = new FileReader() 此方法 js图片压缩主要是利用canvas进行的 源码: /** * js使用form上传图片,支持本地预览选中的图片,支持携带自定义参数 * @param {string} params.previewImgId 预览图片控件id,可以预览上传图片 * @param {string} params.url 提交上传的url * @param…