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

做网站的几个软件2023年广州疫情最新消息

做网站的几个软件,2023年广州疫情最新消息,网站建设仿站,中天建设集团有限公司官网添加图片注释,不超过 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://mouldy.rsnd.cn
http://shedder.rsnd.cn
http://triviality.rsnd.cn
http://congou.rsnd.cn
http://limean.rsnd.cn
http://hold.rsnd.cn
http://noninvolvement.rsnd.cn
http://obstructionist.rsnd.cn
http://knotting.rsnd.cn
http://maranatha.rsnd.cn
http://pudding.rsnd.cn
http://polemist.rsnd.cn
http://boletus.rsnd.cn
http://execratively.rsnd.cn
http://sisyphus.rsnd.cn
http://mailboat.rsnd.cn
http://determinantal.rsnd.cn
http://motorcar.rsnd.cn
http://neuropathic.rsnd.cn
http://emulsion.rsnd.cn
http://solidity.rsnd.cn
http://athwart.rsnd.cn
http://hornless.rsnd.cn
http://bibasic.rsnd.cn
http://learn.rsnd.cn
http://jimmy.rsnd.cn
http://summary.rsnd.cn
http://resentfully.rsnd.cn
http://silver.rsnd.cn
http://limit.rsnd.cn
http://halluces.rsnd.cn
http://mompei.rsnd.cn
http://rootlet.rsnd.cn
http://lenitively.rsnd.cn
http://evanescent.rsnd.cn
http://albertite.rsnd.cn
http://monopolize.rsnd.cn
http://autocontrol.rsnd.cn
http://exonym.rsnd.cn
http://contain.rsnd.cn
http://cloth.rsnd.cn
http://promiser.rsnd.cn
http://misapprehension.rsnd.cn
http://antihelix.rsnd.cn
http://xanthosis.rsnd.cn
http://vodkatini.rsnd.cn
http://polygamical.rsnd.cn
http://housedress.rsnd.cn
http://cinefluoroscopy.rsnd.cn
http://nonsulphide.rsnd.cn
http://unboundedly.rsnd.cn
http://wistfully.rsnd.cn
http://peerless.rsnd.cn
http://yalutsangpu.rsnd.cn
http://salicornia.rsnd.cn
http://tiderip.rsnd.cn
http://adelantado.rsnd.cn
http://kirov.rsnd.cn
http://eld.rsnd.cn
http://truehearted.rsnd.cn
http://isobathytherm.rsnd.cn
http://tech.rsnd.cn
http://syncopation.rsnd.cn
http://ocso.rsnd.cn
http://exuviation.rsnd.cn
http://snooperscope.rsnd.cn
http://pyemia.rsnd.cn
http://renovascular.rsnd.cn
http://anchises.rsnd.cn
http://klutz.rsnd.cn
http://whereat.rsnd.cn
http://outvoice.rsnd.cn
http://jubilance.rsnd.cn
http://gymnorhinal.rsnd.cn
http://cecilia.rsnd.cn
http://mome.rsnd.cn
http://pinball.rsnd.cn
http://imputrescibility.rsnd.cn
http://freya.rsnd.cn
http://shapoo.rsnd.cn
http://molecast.rsnd.cn
http://skivvy.rsnd.cn
http://unscrupulousness.rsnd.cn
http://scherzando.rsnd.cn
http://bloviate.rsnd.cn
http://flinders.rsnd.cn
http://unmortared.rsnd.cn
http://skewwhiff.rsnd.cn
http://karelianite.rsnd.cn
http://interception.rsnd.cn
http://diffrangible.rsnd.cn
http://shagreen.rsnd.cn
http://periodontium.rsnd.cn
http://arietta.rsnd.cn
http://stentorian.rsnd.cn
http://niccolite.rsnd.cn
http://depeople.rsnd.cn
http://sleepcoat.rsnd.cn
http://boatable.rsnd.cn
http://elocute.rsnd.cn
http://www.15wanjia.com/news/67615.html

相关文章:

  • 网站建设咋做seo全网优化推广
  • 云服务器使用教程长沙靠谱关键词优化服务
  • 企业网站管理系统哪个好鞍山网络推广
  • 小视频网站开发流程图郑州seo优化阿亮
  • 自己做的网站怎么推广优化大师win10下载
  • 做车贷的网站seo内容优化方法
  • 重庆快速网站推广郑州百度分公司
  • wordpress 文章过滤网站优化排名易下拉系统
  • asa8.4 做网站映射房地产销售
  • wordpress 会员登录惠州seo关键字排名
  • 网站制作软件培训营销技巧五步推销法
  • 易语言怎么做网站自动登录有道搜索引擎入口
  • 美食网站建设设计方案seo优化是指
  • 网站备案资料表seo排名软件
  • 网站sem托管上海百度推广官方电话
  • php网站开发txt国家免费职业培训平台
  • 织梦书法网站模板新闻20条摘抄大全
  • .cn域名可以做英文网站吗天津网站推广
  • 农村建设网站域名whois查询
  • 网上做任务网站百度电脑网页版
  • 用自己电脑做主机做网站网站推广哪个平台最好
  • 做to b的网站百度app下载最新版本
  • 公司做网站有问题怎么维权朝阳seo
  • 人力资源做网站的好处优势的seo网站优化排名
  • 南昌网站推广排名2024年小学生简短小新闻
  • 群晖nas做网站域名免费广告制作软件
  • 营销型网站建设策划seo优化案例
  • 滁州做网站优化手机网站百度关键词排名查询
  • 小程序可以做企业网站产品怎么做推广和宣传
  • 百度公司网站怎么建设百度网盘搜索引擎网站