elementUI压缩图片和将图片转成base64格式
为了降低资源服务器的消耗、有些时候需要前端压缩图片,转码等一些处理。
一、Base64的优点和缺点
图片转换成base64格式的优缺点
1. 优点
(1)base64格式的图片是文本格式,占用内存小,转换后的大小比例大概为1/3,降低了资源服务器的消耗;
(2)网页中使用base64格式的图片时,不用再请求服务器调用图片资源,减少了服务器访问次数。
(3)base64编码的字符串,更适合不同平台、不同语言的传输;
(4)算法是编码, 不是压缩, 编码后只会增加字节数,但是算法简单, 几乎不会影响效率,算法可逆, 解码很方便, 不用于私密信息通信;
(5)解码方便, 但毕竟编码了, 肉眼还是不能直接看出原始内容;
2. 缺点
(1)base64格式的文本内容较多,存储在数据库中增大了数据库服务器的压力;
(2)网页加载图片虽然不用访问服务器了,但因为base64格式的内容太多,所以加载网页的速度会降低,可能会影响用户的体验。
(3)base64无法缓存,要缓存只能缓存包含base64的文件,比如js或者css,这比直接缓存图片要差很多,而且一般HTML改动比较频繁,所以等同于得不到缓存效益。
// 获取图片转base64getBase64(file) {return new Promise(function(resolve, reject) {const reader = new FileReader()let imgResult = ''reader.readAsDataURL(file)reader.onload = function() {imgResult = reader.result}reader.onerror = function(error) {reject(error)}reader.onloadend = function() {resolve(imgResult)}})}
二、压缩图片的大小——image-conversion
image-conversion除了压缩图片体积,还可以压缩图片宽高比例等,具体参数使用可自行百度
1.安装模块
npm i image-conversion --save
2.引入imageConversion的compressAccurately ,进行压缩
// 引入image-conversion
import { compressAccurately } from 'image-conversion'
3.调用compressAccurately
// 压缩到100KB,这里的100就是要压缩的大小,可自定义
compressAccurately(file, 100).then(res => {var mfile = res// console.log('压缩好的文件',mfile)// console.log('压缩上传的图片大小',mfile.size) //Blob转成Filelet files1 = new window.File([mfile], //[文件]file.name, { type: file.type })
})
4、其中压缩好的文件默认是Blob类型
//利用File Api将blob转成File对象
let files = new window.File([this.blob], file.name, {type: file.type})
elementUI压缩图片和将图片转成base64格式相关推荐
- nodejs读取图片并将二进制数据转换成base64格式
首先,使用nodejs进行数据读取,需要用到nodejs的fs模块进行数据读取: fs.readFile('你的资源路径','binary',function(err,data){if(err){co ...
- [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口
[待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口 百度很多都没用,有想法欢迎指点.
- php+打开图片二进制文件,php图片文件、二进制流、base64格式相互转化
1,php 图片文件.二进制流.base64格式相互转化$image = 'E:/www/logo.png'; //图片文件地址 $type = getimagesize($image)['mime ...
- 将链接转成base64格式生成二维码和把页面生成图片
将链接转成base64格式 function getUrlBase64 (url, etx, callback) {var canvas = document.createElement('canva ...
- PHP将图片验证码转换成base64格式
框架 TP5.0 对应的图形验证码包 composer require topthink/think-captcha v1.0.8 按照官方的描述其实是直接响应图片的可以查看entry方法: retu ...
- js将图片或者文件转成base64格式的两种方法
场景一,项目assets资源里面的图片本地图片,重点如下 需要了解 canvas的基本操作,canvas.toDataURL 方法 HTMLCanvasElement.toDataURL() 方法返回 ...
- html虚拟打印转为pdf,Doro PDF Writer 虚拟打印机 – 可将任何格式图片/文档/文件转换成 PDF格式...
在办公领域经常要用到 PDF 格式文档,因此常常有图片.表格.Word 等各种不同格式的文档转换成 PDF 格式的需求.虽然网上有很多在线转换网站或 PDF 转换软件,不过今天推荐的是通用性更强的软件 ...
- 用python读取pg数据库中的blob类型图片数据,转换存成jpg格式存到本地文件夹
先啰嗦一下,热热身 在工作中,我们常见到数据库中的数据类型主要为char,varchar,text等,但是有时我们也会用blob格式来存储语音文件或者图像文件,在网上找了很多,都没找到合适的办法,只好 ...
- 如何把带图片html转为doc,教您一招:如何将图片里面的文字转成word格式并能编辑...
在工作.学习中往往会用相机拍摄一些图片或者用扫描仪扫描一些文字图片,或者对好文章进行截图,因为这些文字图片是不可以编辑的,一个个字符敲起来又及其费事,那么怎么办? 当然有办法,虽然网络上传授说:下载某 ...
最新文章
- Megengine量化
- ICRA 2022 | 基于多模态变分自编码器的任意时刻三维物体重建
- 文件哈希审计工具md5deep/hashdeep
- 通过DNS通道传输的交互式PowerShell脚本
- jupyter代码字体大小_Jupyter notebook设置背景主题,字体大小及自动补全代码的操作...
- 寄售业务的SAP标准流程
- m5310模组数据上传至onenet_硬核干货!基于M5310-A的NB-IoT水表通信模块软件业务逻辑分享...
- 别看360完成私有化 仍有三因素阻碍中概股回归
- 函数的凹凸性证明_理解图灵机和递归函数的等价性证明
- xcode 常用快捷键
- html 折叠焦点图切换,jQuery层叠式图片切换焦点图插件
- opencv手册_OpenCV之单目测距实现
- python游戏编程入门下载-Python游戏编程入门 中文pdf扫描版|网盘下载内附地址提取码|...
- Sprint3(12.18)总结
- Vue 中的计算属性,方法,监听器
- 实战Java商品库存管理系统
- 定时器中Tout(溢出时间)=(ARR+1)(PSC+1)/Tclk
- 【目标定位】基于matlab粒子滤波的定位算法【含Matlab源码 2161期】
- 数据结构(四)—— 图(1):什么是图
- java多表头导出excel表格_【每日一点】1. Java如何实现导出Excel单表头或多表头