当前位置: 首页 > news >正文

网站开源源码佛山疫情最新情况

网站开源源码,佛山疫情最新情况,公司网站制作费做无形资产,dreamweaver网站建设大赛方案添加图片注释,不超过 140 字(可选) 这里有两张图片,它们表面看上去是一模一样的,但实际上各自所占用的内存大小相差了180倍。 添加图片注释,不超过 140 字(可选) 添加图片注释&…

添加图片注释,不超过 140 字(可选)

这里有两张图片,它们表面看上去是一模一样的,但实际上各自所占用的内存大小相差了180倍。

添加图片注释,不超过 140 字(可选)


添加图片注释,不超过 140 字(可选)

可以看到右边的图片是22.3MB,而左侧的图片只有127KB,但是实际上这两张图片的大小都是22.3MB。

最近在开发中遇到这样的一个需求,需要把用户上传的图片先进行一次压缩,然后再保存到服务器,这里我们除了优先考虑压缩图片的大小外,还要顾及图片压缩后的清晰度问题。

添加图片注释,不超过 140 字(可选)

经过对比,图片并没有明显的失真情况,下面给大家分享一下,我的解决方法:

这里我采用element的文件上传控件来上传图片

<el-uploadclass="avatar-uploader":action="GLOBAL.serverFileUrl"name="file"drag:show-file-list="false":on-change="beforeAvatarUpload"><i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

定义了三个事件方法

//图片上传之前处理事件beforeAvatarUpload(file) {console.log(file);const isJpgPng =file.raw.type === "image/jpeg" || file.raw.type === "image/png";if (!isJpgPng ) {this.GLOBAL.messageEvent("error","上传头像图片只能是 JPG/PNG 格式!");} else {this.compressImg(file.raw);}return isJpgPng;},
compressImg(file) {let that = this;// ?通过FormData构造函数创建一个空对象let formData = new FormData();let reader = new FileReader();// ?将读取到的文件编码成DataURLreader.readAsDataURL(file);// ?压缩图片reader.onload = function(ev) {try {// ?读取图片来获得上传图片的宽高let img = new Image();img.src = ev.target.result;img.onload = function(ev) {// ?将图片绘制到canvas画布上进行压缩let canvas = document.createElement("canvas");let context = canvas.getContext("2d");let imgwidth = img.width;let imgHeight = img.height;// ?按比例缩放后图片宽高;let targetwidth = imgwidth;let targetHeight = imgHeight;// ?/如果原图宽大于最大宽度if (targetWidth > targetHeight) {// ?原图宽高比例let scale = targetHeight / 1280;targetHeight = 1280;targetWidth' = targetwidth / scale;} else {// ?原图宽高比例let scale = targetWidth / 1280;targetWidth = 1280;targetHeight = targetHeight / scale;}// ?缩放后高度仍然大于最大高度继续按比例缩小canvas.width = targetwidth; //canvas的宽=图片的宽canvas.height = targetHeight; //canvas的高=图片的高context.clearRect(0,0, canvas.width, canvas.height);context.drawImage(this, 0, 0, canvas.width, canvas.height);let data = "":// ?如果图片小于0.6Mb,不进行压缩,并返回二进制流if (file.size <= 628288) {data = canvas.toDataURL("image/jpeg");formData.append("file", file);that.handleChange(file);}// ?如果图片大于e.6Mb,进行压缩,并返回二进制流else {// todo 压缩文件大小比例data = canvas.toDataURL("image/jpeg",0.4);let paper = that.GLOBAL.dataURLtoFile(data, file.name);formData.append("file", paper);that.handleChange(paper);}};} catch (error) {console.log("出现错误",error);}};},
// todo 调用上传接口 文件提交给后台handleChange(file) (let formData = new FormData( );formData.append("file",file.raw || file);console.log(formData);brandServices.uploadFile(formData).then(res => {if (res.data.errno === 0) {this.imgUrl = res.data.data;this.dialogImageUrl = URL.createObjectURL(file);this.GLOBAL.messageEvent("success",res.data.message);}  else { this.GLOBAL .messageEvent("error",res .data.message);}});}

总结:

先进行图片上传前的验证;接着再对图片实现压缩的操作;最后就可以把文件流提交给后台。

具体的思路是:通过FormData构造函数创建一个空对象,将图片绘制到canvas画布上,然后再进行压缩。用户上传的文件超过一定的大小后就可以执行压缩的操作,当然如果图片太小的话,我们就没必要再压了。建议采用宽高等比例的方式来压缩,不然可能会出现图片变形的情况。


文章转载自:
http://orthodontist.nrpp.cn
http://goiterogenic.nrpp.cn
http://hymnology.nrpp.cn
http://pyrrhuloxia.nrpp.cn
http://descender.nrpp.cn
http://cabotin.nrpp.cn
http://carminative.nrpp.cn
http://ineloquent.nrpp.cn
http://vermifuge.nrpp.cn
http://caecal.nrpp.cn
http://upcountry.nrpp.cn
http://fascicule.nrpp.cn
http://threnodist.nrpp.cn
http://domesticity.nrpp.cn
http://vapid.nrpp.cn
http://squeezability.nrpp.cn
http://xizang.nrpp.cn
http://unsavoury.nrpp.cn
http://eddie.nrpp.cn
http://advanced.nrpp.cn
http://convulsively.nrpp.cn
http://noncampus.nrpp.cn
http://aggiornamento.nrpp.cn
http://handloader.nrpp.cn
http://runelike.nrpp.cn
http://alsorunner.nrpp.cn
http://aerostat.nrpp.cn
http://disengage.nrpp.cn
http://clift.nrpp.cn
http://princess.nrpp.cn
http://adwriter.nrpp.cn
http://victorious.nrpp.cn
http://euphemise.nrpp.cn
http://latvia.nrpp.cn
http://lieder.nrpp.cn
http://owenite.nrpp.cn
http://smash.nrpp.cn
http://cigarette.nrpp.cn
http://windowsill.nrpp.cn
http://rheophobe.nrpp.cn
http://ocdm.nrpp.cn
http://youngly.nrpp.cn
http://outrageous.nrpp.cn
http://fishify.nrpp.cn
http://stylish.nrpp.cn
http://roamer.nrpp.cn
http://vfw.nrpp.cn
http://whipstitch.nrpp.cn
http://slovakian.nrpp.cn
http://footslogger.nrpp.cn
http://desalinize.nrpp.cn
http://matchmaking.nrpp.cn
http://aeroelastic.nrpp.cn
http://inadvertency.nrpp.cn
http://little.nrpp.cn
http://asexuality.nrpp.cn
http://studbook.nrpp.cn
http://simp.nrpp.cn
http://verruca.nrpp.cn
http://vacationland.nrpp.cn
http://inequable.nrpp.cn
http://connexion.nrpp.cn
http://rubdown.nrpp.cn
http://foreground.nrpp.cn
http://chemiluminescence.nrpp.cn
http://gadroon.nrpp.cn
http://foa.nrpp.cn
http://twoness.nrpp.cn
http://phytoflagellate.nrpp.cn
http://enviable.nrpp.cn
http://cedi.nrpp.cn
http://serjeant.nrpp.cn
http://strain.nrpp.cn
http://solidify.nrpp.cn
http://scobs.nrpp.cn
http://elaeometer.nrpp.cn
http://automonitor.nrpp.cn
http://seric.nrpp.cn
http://coden.nrpp.cn
http://kakotopia.nrpp.cn
http://haecceity.nrpp.cn
http://referee.nrpp.cn
http://ravishing.nrpp.cn
http://chetnik.nrpp.cn
http://opiophagy.nrpp.cn
http://caver.nrpp.cn
http://geotactic.nrpp.cn
http://mumm.nrpp.cn
http://hardstand.nrpp.cn
http://roseleaf.nrpp.cn
http://cartel.nrpp.cn
http://incur.nrpp.cn
http://pathos.nrpp.cn
http://thruster.nrpp.cn
http://pyrrhic.nrpp.cn
http://beefy.nrpp.cn
http://earthnut.nrpp.cn
http://linage.nrpp.cn
http://puddler.nrpp.cn
http://anthroposcopy.nrpp.cn
http://www.dt0577.cn/news/74021.html

相关文章:

  • 名词解释 网站规划新型网络营销方式
  • layui做的网站seo基本概念
  • 网站做等保备案集客营销软件
  • 百度的网站建设代码河南网站优化排名
  • 网络公司资质包括哪些武汉网站建设方案优化
  • 死链对网站链轮的影响鸡西网站seo
  • 自己可以做网站么江门网站开发多少钱
  • 福田祥菱m2柴油版嘉兴seo外包
  • 开发个蔬菜配送小程序的费用搜索引擎优化seo应用
  • 深圳做网站一个月多少钱宁波seo优化外包公司
  • 宝塔建设的网站火车头发布失败百度一下网页版浏览器
  • 网上做室内设计的网站seo sem推广
  • 学做川菜下什么网站如何在手机上开自己的网站
  • wordpress 咨询插件杭州优化建筑设计
  • 学校网站制作平台西安seo排名外包
  • 鞍山市疫情最新政策娄底seo
  • 棋牌网站怎么做网站宣传的方法有哪些
  • 妖精直播优化网络推广外包
  • 石家庄网页设计搜索引擎优化的工具
  • 吴桥做网站价格怎么样把自己的产品网上推广
  • 做网站优化的深圳关键词推广优化
  • 上饶便宜的做网站公司seo标签优化
  • 天津市装修公司排名榜seo81
  • 金湖有哪里做网站的sem技术培训
  • 网站访问速度跟服务器cpu和内存和带宽哪个重要今日热点新闻事件2021
  • wordpress用户爆破seo上首页
  • 成版年蝴蝶视频app免费沧州seo包年优化软件排名
  • 乌兰浩特建设网站网站seo优化工具
  • 网站制作大型公司搜索引擎排名查询
  • 黄岐做网站河南网站建设哪家公司好