美文网首页
vue 项目中上传图片 并压缩图片

vue 项目中上传图片 并压缩图片

作者: 工程狮子 | 来源:发表于2020-12-26 16:32 被阅读0次

有时候 我们不能去决定用户 上传图片的大小,那么我们就只能把用户上传的图片,压缩一下在传给后台,减少资源的消耗。

1.安装插件

npm i image-conversion --save

2.在使用的组件中引入

import * as imageConversion from 'image-conversion'

3.结合ui插件使用
// html
<van-uploader
            v-model="uploaderPositive"
            :after-read="afterRead"
            :before-read="beforeRead"
            :max-count="1"
   />
// js
beforeRead(file) {
      // 上传之前校验
      return new Promise((resolve, reject) => {
        // console.log('压缩前', file) // 压缩到400KB,大于400KB的图片都会进行压缩,小于则不会
        imageConversion.compressAccurately(file, 100).then(res => { // console.log(res)
          res = new File([res], file.name, { type: res.type, lastModified: Date.now() })
          // console.log('压缩后', res)
          resolve(res)
        })
      })
    }

beforeRead() 这个函数里边的数据才是最重要的 可以压缩用户上传的图片 压缩图片的大小 你可以自己定,还可以限制用户上传图片的格式

4.注意

beforeRead() beforeRead函数是自己定义的哦,函数里的代码就是进行图片的压缩,将传入的图片调用imageConversion内的方法,这里需要注意的是,压缩后返回的是blob对象,而Upload组件需要接收到File文件对象才会将压缩后的进行上传,否则不起作用,所以这里要对返回值处理成File对象

相关文章

  • vue 图片压缩

    vue 图片压缩 上传图片大于100* 1024 的用canvas 来压缩来解决 然后IOS拍照上传会有图片旋转的...

  • vue 图片压缩

    vue 图片压缩 上传图片大于100* 1024 的用canvas来压缩来解决 然后IOS拍照上传会有图片旋转的问...

  • vue 项目中上传图片 并压缩图片

    有时候 我们不能去决定用户 上传图片的大小,那么我们就只能把用户上传的图片,压缩一下在传给后台,减少资源的消耗。 ...

  • vue前端图片压缩,js图片压缩技术

    vue前端图片压缩,js图片压缩技术 公司项目有拍照上传图片,现在一般手机拍照都会有4M,5M样子,四五兆的图片上...

  • iPic for Mac(图床神器) v1.7.0中文免费版

    上传图片相关设置 上传前压缩图片 可以在 iPic 的 偏好设置 中开启「上传前压缩图片」选项,目前支持压缩的图片...

  • vue图片压缩compressor.js

    像我们写vue项目的时候上传图片经常会遇到上传图片需要压缩传给后台,以免图片过大导致服务器内存崩溃。现在有一个很好...

  • 提高上传效率,iOS图片压缩总结

    最近项目中用到七牛上传图片,多张上传时,png图片大,上传极慢,特地研究了一下图片压缩的方法。 两种压缩图片的方法...

  • vue上传图片压缩

    第一个文件,afterRead方法是vant框架的上传获取原生文件流第二个文件,设置多一个方法postImg,设置...

  • 处理HTML图片适应webView和压缩图片

    创建图片工具类 webView中引用 上传图片压缩

  • 图片压缩上传

    vue项目使用el-upload 组件,实现图片压缩上传至服务器感谢博客文章,文章中主要代码来自该博客:https...

网友评论

      本文标题:vue 项目中上传图片 并压缩图片

      本文链接:https://www.haomeiwen.com/subject/xnsgnktx.html