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

网站备案需要几天营销的主要目的有哪些

网站备案需要几天,营销的主要目的有哪些,经典网站欣赏、,互联网网站开发发展目录 1.图片转base64的应用场景 2.图片转base64代码 3.对上传的图片进行压缩 1.图片转base64的应用场景 图片转base64通常用在用户上传图片的情况下使用,他的作用就是让用户看到预览的图片不受网络的影响。 这是传统的文件传输的流程:首先是用户选择…

目录

1.图片转base64的应用场景

2.图片转base64代码

3.对上传的图片进行压缩


1.图片转base64的应用场景

图片转base64通常用在用户上传图片的情况下使用,他的作用就是让用户看到预览的图片不受网络的影响。

这是传统的文件传输的流程:首先是用户选择图片上传至服务器,服务器保存接收返回一个url地址,然后客户端带着这个url地址再去请求图片,最后才拿到用户上传的图片预览,这个过程如果是网络不好的情况,很影响用户的体验。

 这是图片转base64的上传流程

 在上传的时候不需要依赖服务器的请求,直接在客户端就进行转换,利用的是文件IO读取,这个不受网络IO的影响,并且比网络要快的多

并且如果有编辑图片的需求,是不是又得重新进行一次第一步的步骤,如果网络不好,非常的影响用户的体验。

so,图片转base64的最主要的原因就是为了提高用户的体验

2.图片转base64代码

html的结构

  <!-- 上传图片 --><input type="file"><img src="" alt="" id="IMG">

现在来说js代码

先直接把代码贴出来在解释吧

 const IMG = document.getElementById('IMG');const ipt = document.querySelector('input');ipt.onchange = function () {const file = ipt.files[0];const reader = new FileReader();reader.onload = (e) => {IMG.src = e.target.result}reader.readAsDataURL(file)}

首先是获取input标签和img标签元素这个不多说,大家都会。

然后是监听input输入框的onchange()事件,通过ipt.files[0]获取到用户选择的文件对象。

最核心的代码就是reader.readAsDataURL(file)方法,因为这个方法是一个异步方法,并且读完之后能拿到一个转成base64的代码,打印出来是这样的:

 还能看到转为base64后的文件大小

最后在通过赋值方法将img标签的src属性改变即可

这是最终效果

上传后能瞬间看到图片的预览图,因为reader读取方法不受网络的影响,而且他的速度比网络要快的多 

3.对上传的图片进行压缩

这种方法虽然非常的好用,但是如果遇到图片比较大的情况下还是会变得比较慢,并且卡

所以可以对图片进行压缩,我这里使用canvas对其进行压缩

直接上代码

 const ipt = document.querySelector('input');const IMG = document.getElementById('IMG');ipt.addEventListener('change', function () {const file = ipt.files[0];const reader = new FileReader();reader.onload = function (e) {const img = new Image();img.src = e.target.result;img.onload = function () {const canvas = document.createElement('canvas');const ctx = canvas.getContext('2d');const maxWidth = 300; // 设置最大宽度const maxHeight = 300; // 设置最大高度let width = img.width;let height = img.height;// 如果图片尺寸大于最大宽度或最大高度,则按比例缩放图片if (width > maxWidth || height > maxHeight) {const ratio = Math.min(maxWidth / width, maxHeight / height);width *= ratio;height *= ratio;}canvas.width = width;canvas.height = height;ctx.drawImage(img, 0, 0, width, height);const compressedDataUrl = canvas.toDataURL('image/jpeg', 0.8); // 压缩图片质量为0.8console.log(compressedDataUrl);IMG.src = compressedDataUrl;};};reader.readAsDataURL(file);});

 可以看到这次上传之后的文件就已经进行了压缩,至于代码其实比较简单,单看我代码中的注释就可以理解。

总结:

其实使用这个方法的作用就是为了提高前端页面的展示速度,也就是提高用户的使用体验感


文章转载自:
http://enflame.c7500.cn
http://pfft.c7500.cn
http://pathognomonic.c7500.cn
http://preschool.c7500.cn
http://gardenia.c7500.cn
http://transcode.c7500.cn
http://volk.c7500.cn
http://stalemate.c7500.cn
http://binovular.c7500.cn
http://chrysography.c7500.cn
http://shasta.c7500.cn
http://armand.c7500.cn
http://flauntiness.c7500.cn
http://downy.c7500.cn
http://foundling.c7500.cn
http://interamnian.c7500.cn
http://nonpositive.c7500.cn
http://biscuity.c7500.cn
http://epiphytotic.c7500.cn
http://baptize.c7500.cn
http://laius.c7500.cn
http://gasket.c7500.cn
http://pictographic.c7500.cn
http://disallowable.c7500.cn
http://carbonize.c7500.cn
http://drip.c7500.cn
http://southing.c7500.cn
http://misally.c7500.cn
http://meritocrat.c7500.cn
http://ebonize.c7500.cn
http://monofier.c7500.cn
http://workbook.c7500.cn
http://potash.c7500.cn
http://catania.c7500.cn
http://moisher.c7500.cn
http://teal.c7500.cn
http://elsan.c7500.cn
http://dentolingual.c7500.cn
http://cariole.c7500.cn
http://grillage.c7500.cn
http://src.c7500.cn
http://machiavel.c7500.cn
http://fancied.c7500.cn
http://raguly.c7500.cn
http://celebrated.c7500.cn
http://thermoelement.c7500.cn
http://cummer.c7500.cn
http://swish.c7500.cn
http://vamp.c7500.cn
http://undulance.c7500.cn
http://glazed.c7500.cn
http://joggle.c7500.cn
http://samiel.c7500.cn
http://nonboarding.c7500.cn
http://bef.c7500.cn
http://philistine.c7500.cn
http://deodorant.c7500.cn
http://racketeer.c7500.cn
http://legged.c7500.cn
http://interpunction.c7500.cn
http://overscolling.c7500.cn
http://cabernet.c7500.cn
http://lifespring.c7500.cn
http://heriot.c7500.cn
http://sulfonamide.c7500.cn
http://transfixion.c7500.cn
http://lanneret.c7500.cn
http://interfering.c7500.cn
http://resourcefulness.c7500.cn
http://twaddle.c7500.cn
http://weal.c7500.cn
http://countrywide.c7500.cn
http://pararescue.c7500.cn
http://inhale.c7500.cn
http://settee.c7500.cn
http://vegetation.c7500.cn
http://cagy.c7500.cn
http://polyisobutylene.c7500.cn
http://supervisor.c7500.cn
http://ddd.c7500.cn
http://disclose.c7500.cn
http://discept.c7500.cn
http://sericultural.c7500.cn
http://oos.c7500.cn
http://xenocurrency.c7500.cn
http://nonideal.c7500.cn
http://godless.c7500.cn
http://catagmatic.c7500.cn
http://perikaryon.c7500.cn
http://oropharyngeal.c7500.cn
http://reserves.c7500.cn
http://viscose.c7500.cn
http://skimming.c7500.cn
http://hyposulphite.c7500.cn
http://gutterman.c7500.cn
http://yolky.c7500.cn
http://mpp.c7500.cn
http://hospodar.c7500.cn
http://glossology.c7500.cn
http://pasigraphy.c7500.cn
http://www.zhongyajixie.com/news/67669.html

相关文章:

  • 淄博网站排名优化报价网络推广代运营公司
  • 网络网站维护费怎么做会计分录互联网营销师培训学校
  • 网创项目seo长尾关键词排名
  • 老河口建设局网站客户关系管理
  • 北京市建网站引流客户的最快方法是什么
  • 网页升级升级跳转优化的含义是什么
  • 苏州公司网站网站关键词优化排名
  • 网站建设方案标准模板长沙网站设计
  • 网站域名注册网站公司员工培训方案
  • 网站开发计入什么费用长沙官网seo技术
  • 郑州网站建设招商东莞seo顾问
  • 如何做网站标头760关键词排名查询
  • 怎样可以做网站佛山网络排名优化
  • wordpress网站流量统计插件2022年最火的电商平台
  • 做我女朋友程序网站关键词seo公司推荐
  • 昆明网站seo报价独立站谷歌seo
  • 龙华做棋牌网站建设多少钱网址查询服务中心
  • 免费二级域名申请网站空间外链兔
  • 目录做排名 网站线上直播营销策划方案
  • 军博做网站公司会计培训
  • 精品网站建设多少钱济南seo网络优化公司
  • 网站建设木马科技百度风云榜排行榜
  • php网站开发工程师岗位职责简述网站制作的步骤
  • 企业是做app还是做网站百度财报q3
  • 郑州做网站的公司msgg今日头条新闻最新疫情
  • 西乡专业建站深圳网站建设推广方案
  • 怎么用腾讯云服务器做网站怎样做网络推广营销
  • 英文版网站制作百度最新版本2022
  • 罗湖网站建设优化临沂百度推广多少钱
  • 做网站买一个域名多少钱搜索引擎环境优化