51制作工厂网站在线观看无需选择,帮传销做网站,网站建设品牌推广seo,导航类网站模板第一次做图片上传#xff0c;记录一些问题。 1#xff0c;图片的base64编码就是可以将一副图片数据编码成一串字符串#xff0c;使用该字符串代替图像地址。而网页上的每一个图片#xff0c;都是需要消耗一个http请求下载而来的#xff0c;使用base64就不用请求http。 2记录一些问题。 1图片的base64编码就是可以将一副图片数据编码成一串字符串使用该字符串代替图像地址。而网页上的每一个图片都是需要消耗一个http请求下载而来的使用base64就不用请求http。 2上传图片 1 div idImgPr/div
2 input classclick-upload typefile idup acceptimage/* 3图片转base64readAsDataURL方法用于读取指定Blob或File的内容。当读操作完成readyState变为DONE, loadend被触发此时result属性包含数据URL以base64编码的字符串表示文件的数据 1 function picUpload() {
2 var preview document.querySelector(img);
3 var file document.querySelector(input[typefile]).files[0];
4 var reader new FileReader();
5 reader.onloadend function () {
6 preview.src reader.result;
7 }
8 if (file) {
9 reader.readAsDataURL(file);
10 } else {
11 preview.src ;
12 }
13 } 4压缩图片并转base64通过canvas把图片进行大小压缩 1 function picUpload(){
2 var methis;
3 var img new Image();
4 $(#up).on(change,function(){
5 var ViewWidth$(this).width();
6 var ViewHeight$(this).height();
7 var file this.files[0];
8 var URL URL || webkitURL;
9 img.srcURL.createObjectURL(file);
10 img.onload function(){
11 var imgMethis,
12 imgWidth0,
13 imgHeight 0,
14 w imgMe.width,
15 h imgMe.height,
16 scale1 w/ViewWidth,
17 scale2 h/ViewHeight;
18 imgWidthparseInt(Math.floor(w/scale1));
19 imgHeightparseInt(Math.floor(h/scale2));
20 var canvas document.createElement(canvas);
21 var img document.createElement(img);
22 $(#ImgPr).html(img);
23 var ctx canvas.getContext(2d);
24 canvas.width ViewWidth;
25 canvas.height ViewHeight;
26 ctx.drawImage(imgMe,0,0,imgWidth,imgHeight);
27 me.srccanvas.toDataURL(image/jpeg);
28 $(img).prop(src,me.src);
29 };
30 });
31 }; 5$.ajax()方法里的data如果是字符串则不能用大括号括起来这样在有某些手机上会报错。
更多专业前端知识请上
【猿2048】www.mk2048.com