lrz的使用

13 篇文章 0 订阅

在最近的一个物业管理的项目中,用户上传图片的时,需要对图片的大小进行限制,于是使用了未曾接触到的lrz插件对用户上传的图片进行压缩。关于lrz插件的使用有关以下记录。
1.如何使用
使用 npm 进行下载

cnpm instll lrz  --save

在main.js中引入

import lrz from 'lrz'

用户进行图片上传时,需要用一个input fire 来获取图片。

 <input id="file" type="file" accept="image/*" ref='file' @change="getImg($event)"/>

lrz(fire,[option])l
参数:
其中fire你所上传的图片的二进制流。
option为可选参数,具体参考git地址lrz
其结果返回一个promise对象,then(res)

res.fileLen 是压缩后的图片大小,可以通过这个的值传递给后端,判断是否上传完整;
res.base64 生成后的图片base64,后端可以处理此字符串为图片,也直接用于img.src = base64;
res.base64Len 生成后的base64的大小,后端可以通过此值来校验是否传输完整 (如果采用base64上传方式);
res.origin 为原始图片的一些数据信息,例如:图片名称,图片的大小,图片的类型等等都保存在这个里面;

例:

<template>
    <div class="index">
        <!-- 图片上传 -->
        <div class="img">
            <input id="file" type="file" accept="image/*" ref='file' @change="getImg($event)"/>
            <span class="close" v-show='state' @click="close">x</span>
            <img :src="img" alt="" v-show='state'>
        </div>
    </div>
</template>
<script>
export default {
    data(){
        return{
            state:false,
            img:''
        }
    },
    components: {
        
    },
    methods: {
        getImg(e){
            lrz(e.target.files[0],'').then(res=>{
                this.img=res.base64;
                this.state=true;
                console.log(res)
            })
        },
        close(){
            this.state=false;  //关闭显示状态
            this.img='';  //清空图片路径
        }
    }
}
</script>


<style scope>
    .img{
        width: 8rem;
        height: 8rem;
        border: 1px solid #ccc;
        background: url('../assets/pp.png') no-repeat;
        background-size: 50%;
        background-position: center;
        position: relative;
    }
    .img input{
        width: 100%;
        height: 100%;
        display: block;
        opacity: 0;
        border: none;
       
    }
    .img .close{
        position: absolute;
        width: 20px;
        height: 20px;
        top: -10px;
        right: -10px;
        display: block;
        border-radius: 50%;
        background: #ccc;
        color: #fff;
        z-index: 3;
    }
    .img img{
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 2;
        left: 0;
        top: 0;
    }
</style>

由于缺少一些图片素材,最终效果不够美观。
在这里插入图片描述

次文仅作为笔记方便以后查看,不喜勿喷,如果还有什么插件,希望各位不吝分享,共同进步。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
gitlab.lrz.de是一个GitLab服务器的域名,用于存储和管理代码库。在引用中,通过运行"git clone"命令从该服务器上克隆了一个名为"orbslam-map-saving-extension"的代码库。在引用中,通过使用"devtools :: install_git"函数从该服务器上安装了一个名为"ds.predict.base"的软件包(需要提供用户名和密码)。在引用中,通过运行"git clone"命令从该服务器上克隆了一个名为"opendrive2lanelet"的代码库,并通过运行"python setup.py install"命令将其安装到本地。gitlab.lrz.de提供了公开的源代码和发布版本供用户获取和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ORB-SLAM2地图保存新拓展](https://blog.csdn.net/whut_chengjun/article/details/111499565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ds.predict.base](https://download.csdn.net/download/weixin_42134338/16717431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [OpenDRIVE:学习文档](https://blog.csdn.net/weixin_41194129/article/details/112416832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值