美文网首页
vue element-ui 压缩图片上传

vue element-ui 压缩图片上传

作者: 嫑着急 | 来源:发表于2020-05-11 11:26 被阅读0次
<template>
    <div>
        <el-upload class="upload-demo" :multiple="true" action="https://neibu.qk*****.com"
         :http-request="handlePost" accept="bmg,.png,.jpg,.jpeg" :before-upload="beforeAvatarUpload" :on-success="handleSuccess"
         :on-error="hanldeError" multiple :limit="20">
            <el-button size="small" type="primary">添加图片</el-button>
        </el-upload>
    </div>
</template>
<script>
    //  npm i image-conversion --save

    import {compress,compressAccurately} from "image-conversion";
    export default {
        data() {
            return {

            }
        },
        methods: {
            handlePost(f) {
                var me = this;
                let fd = new FormData()
                fd.append('file', f.file)
                me.$axios.post(this.$url+"/file/uploadimg", fd)
                    .then(function(result) {
                        console.log(result)
                        if (result.data.result == true) {
                            me.$message({
                                message: '上传成功',
                                type: 'success'
                            })
                            // me.userhead = result.data.pojo;
                            // me.imageUrl = "https://neibu.qklshequ.com/bbs" + result.data.pojo;
                        }
                        if (result.data.result == false) {
                            me.$message({
                                message: '上传失败',
                                type: 'error'
                            })
                        }
                    })
            },
            handleSuccess(res, file) {
                console.log(res)
                // 服务器返回结果处理
            },
            hanldeError(res, file) {
                console.log(res)
                // 服务器返回结果处理
            },
            beforeAvatarUpload(file) {
                // console.log(file)
                let isLt2M2 = file.size / 1024 / 1024 < 1
                // console.log(isLt2M2)
                if (!isLt2M2) {
                    this.$message.error('上传头像图片大小不能超过 1MB!');
                    return false
                }else{
                    return new Promise((resolve, reject) => {
                        let _URL = window.URL || window.webkitURL
                        let isLt2M = file.size / 1024 < 50 //                       
                        let img = new Image()
                        img.onload = function() {
                            file.width = img.width
                            file.height = img.height
                            let valid = img.width > 1800
                            if (valid || isLt2M) {
                                compressAccurately(file, {
                                    size: 50,
                                    width: 1800
                                }).then(res => {
                                    resolve(res)
                                })
                            } else resolve(file)
                        }
                        img.src = _URL.createObjectURL(file)
                    })
                }

            }
        }

    }
</script>
<style scoped>

</style>

相关文章

  • vue 图片压缩

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

  • vue 图片压缩

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

  • vue element-ui 压缩图片上传

  • vue上传图片压缩

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

  • vue mintui组件:多图片上传

    vue图片上传组件,实现批量上传和单张上传功能,控制图片大小,数量,以及压缩处理,利用了mint-ui的提示框监听...

  • iOS 网络上传图片

    上传图片 构造参数(NSArray *)files 上传图片—压缩 压缩到小于(...

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

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

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

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

  • vue图片压缩compressor.js

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

  • Vue 图片压缩并上传至服务器

    本文主要讲解基于 Vue + Vant ,实现移动端图片选择,并用 Canvas 压缩图片,最后上传至服务器。还会...

网友评论

      本文标题:vue element-ui 压缩图片上传

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