export function compressPicture(file) {return new Promise((resolve, reject) => {let width, height;let MAX_WH = 800;let image = new Image()image.onload = () => {if (image.height > MAX_WH) {// 宽度等比例缩放 *=image.width *= MAX_WH / image.height;image.height = MAX_WH;}if (image.width > MAX_WH) {// 宽度等比例缩放 *=image.height *= MAX_WH / image.width;image.width = MAX_WH;}let canvas = document.createElement('canvas'); // 创建Canvas对象(画布)let context = canvas.getContext('2d');canvas.width = width = image.width;canvas.height = height = image.height;context.clearRect(0, 0, canvas.width, canvas.height);context.drawImage(image, 0, 0, image.width, image.height);const base64Url = canvas.toDataURL(file.type, 0.3);resolve(base64Url)}image.onerror = () => {reject()}image.src = file.url;})
}

javascript压缩上传图片相关推荐

  1. Javascript验证上传图片大小[前台处理]

    2019独角兽企业重金招聘Python工程师标准>>> 需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: ...

  2. javaScript 压缩混淆反混淆

    javaScript 压缩混淆反混淆 压缩混淆的意义 1. 压缩 2. 混淆 如何压缩混淆 案例 Unicode转义序列(Unicode Escape Sequence) 压缩代码(Compact c ...

  3. ArcGIS API for JavaScript压缩版(compact)与标准版的区别

    文章目录 前言 区别一 区别二 参考链接 前言 在我们下载下来的API文件中可以看到里面包含了两个版本,一个是常用的标准版,另一个是压缩版. 如果到各自文件夹里面对比看的话,除了两个版本的init.j ...

  4. JavaScript怎么上传图片

    在XMLHttpRequest Level2出台之前,大多数的异步上传图片都是利用iframe去实现的. 至于具体的实现细节,我就不在这边啰嗦的,Google一下就有文章谈这个东西. 这次主要说说,怎 ...

  5. Dcloud+mui 压缩上传图片到服务器

    chooseImgFromAlbums选择图片 chooseImgFromPictures 拍照 changeToLocalUrl 转换成可用的路径 uploadpic.compressImg 压缩图 ...

  6. JavaScript 压缩 加密 解密

    代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  7. 手机网页版JS压缩上传图片--base64位 兼容IOS和安卓

    首先,我用到了一款插件,是纯JS压缩上传插件,第一次用CSDN,不太会用,我把插件所有代码拷贝在文章末尾. 加载JS插件<script src="__JS__/dist/lrz.mob ...

  8. uni-app开发微信小程序,H5 关于压缩上传图片的问题

    文章目录 前言 一.为什么要压缩图片 二.图片压缩方式 1. 微信小程序​​​​​​​ 2. H5 总结 前言 关于微信小程序.H5兼容性问题,今天就压缩以及上传图片做一个可实现方法的简要阐述. 一. ...

  9. js如何给php传图片,JavaScript怎么上传图片

    在XMLHttpRequest Level2出台之前,大多数的异步上传图片都是利用iframe去实现的. 至于具体的实现细节,我就不在这边??碌模?oogle一下就有文章谈这个东西. 这次主要说说,怎 ...

最新文章

  1. 知识产权界福布斯排行榜公布:厉害了,我的中国!
  2. 使用计算机的好处,电脑的好处
  3. 【C/C++17】_ooci.h,_ooci.cpp,_mysql.h,_mysql.cpp,_postgresql.h,_postgresql.cpp
  4. 项目中缺少maven dependencis,或者pom文件报红
  5. STM32F1笔记(八)时钟
  6. QTP中VBS脚本下FSO、WSH的应用(二)
  7. 中国营销界:震惊全球的六种“武器”
  8. ann2snn的代码分析
  9. Redis主从读写分离配置
  10. Tuxedo 介绍与安装
  11. Git代码提交,固定日志模板
  12. 圆弧周长公式_求圆弧长度计算公式
  13. 360主机卫士linux安装软件,360主机卫士linux版|360主机卫士 for Linux v0.5.7官方版 - 121下载站...
  14. 李峋爱心代码 程序员教你用代码制作爱心网页[樱花+爱心],正好拿去送给女神给她个惊喜
  15. unity如何用代码创建自已的logo
  16. vb发送到文件服务器,VB实现文件上传到FTP服务器
  17. 再揭国产COS操作系统的内幕
  18. 大数据分析平台哪个好?
  19. vue 路由独享守卫
  20. TM商标如何定义 TM商标与R标有何区别?

热门文章

  1. 新版unity toggle组件汉化名字
  2. 编译原理第三版课后答案
  3. 「重磅」Python自创软件名字生成器:1.0-1.7
  4. 【计算机组成原理】一位全加器
  5. python节日贺卡
  6. 要怎么在计算机里清除桌面内存,怎么清理电脑内存
  7. NVIDIA GPU硬件架构发展(截至2022年)
  8. baseline是什么
  9. xp安装64位vista_在64位Windows Vista上安装iTunes 7
  10. SUMPRODUCT countif