结合Vue.js的前端压缩图片方案

移动开发
在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了。在用户上传图片时,图片被提交到后台之前,就对图片进行压缩处理。图片文件大小减小后,上传速度自然会提示,在同样的并发下,后台处理的速度也会得到提升,用户体验得到提升。

[[175194]]

这是一个很简单的方案。嗯,是真的。

为什么要这么做?

在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克:

  1. 低网速下上传进度缓慢,用户体验差
  2. 高并发下,后台处理较大的上传文件压力大
  3. 或许有更多...

在攻克上面的一些困难时,我们也可以给自己一些疑问:

  1. 真的有必要保存用户上传的原图吗?
  2. 用户还能等多久?
  3. 或许还有更多...

结合上面的一些困难和疑问,再结合我们实际的案例,我们或许可以这样做 —— 在用户上传图片时,图片被提交到后台之前,就对图片进行压缩处理。图片文件大小减小后,上传速度自然会提示,在同样的并发下,后台处理的速度也会得到提升,用户体验得到提升。

有童鞋可能会说,为什么不使用一些主流CDN的表单功能,直接把文件上传到CDN去?当然,完全可以选择那种方案,我只是在众多的方案中选择了一个来用而已,又或者说这是程序员的天性?

准备

上面已经说了 “在用户上传图片时,图片被提交到后台之前,就对图片进行压缩处理。”,那我们马上准备下各种工具吧:

  1. localResizeIMG(核心,用于在前端对图片进行压缩)
  2. Vue.js(处理前端的数据,展现逻辑)
  3. Bootstrap(还要我多说?)

怎么做?

  1. 上传项目变更后,使用localResizeIMG进行压缩
  2. 把数据通过自己期望的方式提交到后台

localResizeIMG在调用时,就可以指定压缩后图片的宽度高度以及质量(详细参考文档),至于要怎么把数据提交到后台,可以参考该库的wiki中提到的方案,一切都很简单。

演示地址

这个例子的仓库地址

本文的解决方法并不是唯一,也不一定是***,在使用相关的框架/库时遇到的问题,可以去相应的Github仓库查看issue或者wiki。

责任编辑:庞桂玉 来源: segmentfault
相关推荐

2021-07-24 11:41:42

前端开发技术

2016-11-01 19:10:33

vue.js前端前端框架

2023-11-04 12:43:44

前端图片参数

2022-08-08 08:29:55

图片压缩前端互联网

2023-01-15 20:28:32

前端图片压缩

2017-09-27 16:44:23

前端

2023-04-27 08:23:38

JavaScriptVue.jsMVVC

2020-08-05 16:09:52

javascript压缩图片前端

2010-03-12 15:10:16

Ubuntu压缩图片

2021-08-03 14:01:53

Vue.js维基百科框架

2018-04-04 10:32:13

前端JavascriptVue.js

2017-12-15 10:00:46

前端框架Vue.js

2017-07-04 17:55:37

Vue.js插件开发

2016-11-04 19:58:39

vue.js

2020-05-07 09:45:16

前端JS图片压缩

2020-09-16 06:12:30

Vue.js 3.0Suspense组件前端

2018-07-10 15:35:33

Vue前端架构

2017-08-30 17:10:43

前端JavascriptVue.js

2022-08-23 14:23:29

Vue.js命令行前端

2020-09-22 07:35:42

Node.jsVue.js文件压缩
点赞
收藏

51CTO技术栈公众号