vue移动端图片压缩上传,使用lrz

lrz:图片压缩上传 lrz图片压缩 npm install lrz // main.js引入 import lrz from 'lrz' <input type="file" @change="upfileimg($event)"> //上传图片 methods:{ upfileimg(e) { this.$toast.loading({ duration: 0, forbidClick... 阅读详情
<template>
  <div class="uploadOutter">
    <slot>
      <div class="uploadInner" @click="$refs.file.click();">
        <div class="imgBox" v-if="value&&multiple==false">
          <img :src="value" alt class="img" title="图片" />
          <div class="close" @click.stop="closeHansle">
            <van-icon name="cross" />
          </div>
        </div>
        <img v-else :src="jia" alt class="tjimg" title="图片" />
      </div>
    </slot>
    <input @change="beforeRead" style="display:none;" ref="file" type="file" accept="image/*" capture="camera">
  </div>
</template>
<script>
import lrz from "lrz";
export default {
  props:{
    multiple:{
      default:false
    },
    value:{
      default:''
    },
  },
  data () {
    return {
      jia: require("@/assets/images/jia.png"),
    }
  },

  components: {},

  methods: {
    //上传文件
    beforeRead(e) {
      console.log(e)
      if(!e.target.files[0]){
        return
      }
      this.$toast.loading({duration:0,forbidClick:true})
      lrz(URL.createObjectURL(e.target.files[0], { quality: 0 })).then(rst => {
        this.loadHandle(rst.base64)
      });
    },
    loadHandle(file){
      let formData = new FormData()
      formData.append('imgStr',file)
      this.$http({
        url:'文件上传接口地址',
        method:'post',
        data:formData
      }).then(({data:{code,data,message}})=>{
        if(code=='0000'){
          if(this.multiple){
            let value = this.value.split(',').filter(e=>e)
            value.push(message)
            this.$emit('input',value.join(','))
          } else {
            this.$emit('input',message)
          }
          this.$emit('change',message)
          this.$toast({message:'上传成功!'})
        } else {
          this.$toast.fail(message)
        }
      },err=>{})
    },
    closeHansle(){
      this.$emit('input','')
    },
  }
}
</script>

<style lang="scss" scoped>
.uploadOutter{
width: 101px;
height: 84px;
}
.uploadInner{
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border: dashed 2px #dce8fa;
  border-radius: 5px;
  width: 100%;
  height: 100%;
  .tjimg {
    width: 26px;
    height: 26px;
    margin-top: 10px;
  }
  .imgBox{
    width: 100%;
    height: 100%;
    position:relative;
    .img{
      width: 100%;
      height: 100%;
    }
    .close{
      position:absolute;
      right:0;
      top:0;
      width:20px;
      height:20px;
      line-height:30px;
      background:rgba(0,0,0,0.5);
      color:#fff;
      text-align:center;
    }
  }
}
</style>

一看就懂,拿来即用h5+vue图片压缩 上传 删除。代码完整,却仅有15KB大小 采用vue+lrz插件实现的图片压缩、上传、删除等功能,包含两个PHP文件,一个用来上传图片的,一个用来删除图片的。考虑到新手需求,我把所有影响阅读的代码全部精简掉了,一看就懂。图片上传是前后端配合的,所以请安装一个phpstudy,然后把整个文件扔到服务器www目录下,直接127.0.0.1就能运行了 立即下载

相关推荐

lrz图片压缩插件

适用于WebApp,后台开发

vue使用lrz进行压缩图片

在vue中使用lrz去压缩图片 lrz是一款压缩图片成base64的插件,兼容IE10以上及大部分非IE浏览器(chrome、微信什么的) 但是lrz团队已经放弃维护了,所以使用的时候需要谨慎 使用的时候注意,有可能会和你本身代码的插件进行冲突,我遇到报错,但是怎么都解决不了,后来排查到我的项目环境有问题,然后重置之前的环境,再进行使用的时候就正常了,具体是插件冲突还是什么情况,暂时还没找到具体的原因! 下包: 通过npm或者bower方式进行下载 npm i lrz(推荐) bower install l

weixin_41757599的博客 6456

js使用lrz压缩图片,上传七牛

使用js插件lrz压缩图片,然后调用七牛上传接口,上传图片到七牛服务器

vue项目压缩图片

第一步: 执行命令: cnpm i lrz -S 第二步: 在main.js中引入: import lrz from 'lrz' 第三步: 使用函数:返回结果是一个promise对象。 lrz( file, [ options ] ) .then(function(rst) { ...

aGreetSmile的博客 8620

lrz.mobile.min.js 压缩图片(亲测,保证正确)

支持图片压缩,支持微信浏览器,Android及IOS,亲测请大家放心。

基于vue+axios+lrz.js微信端图片压缩上传方法

业务场景 微信端项目是基于Vux + Axios构建的,关于图片上传的业务场景有以下几点需求: 1、单张图片上传(如个人头像,实名认证等业务) 2、多张图片上传(如某类工单记录) 3、上传图片时期望能按指定尺寸压缩处理 4、上传图片可以从相册中选择或者直接拍照 遇到的坑 采用微信JSSDK上传图片 在之前开发的项目中(mui + jquery),有使用过微信JSSDK的接口上传图片,本想应该能快速迁移至此项目。事实证明编程没有简单的事: 1、按指定尺寸压缩图片 JSSDK提供的接口wx.chooseImage 是不能指定图片压缩尺寸的,只能在后端的接口通过localId获取图片时,再转换

vue lrz图片压缩插件

vue lrz图片压缩插件安装引入使用参考网站 安装 npm i lrz -S 引入 // main.js 中引入 import lrz from 'lrz' 使用 methods: { afterRead(file) {// 选中上传图片时触发 let that = this; lrz(file.file).then(rst => { let base64 = th...

吴彦祖山东分组 1588

跟着团子学SAP PS:BOM和项目结构的联动-BOM Transfer CN33

关于项目中的物料组件挂接你需要了解的一点功能

Lucas1211的博客 2万+

vue中使用lrz上传图片——身份认证

ps: 最近有点忙。今天抽时间记录下, 项目中应用到: 身份认证, 使用 lrz 插件上传图片。 写的不好,欢迎各位指点,谢谢。 文章目录效果图引入lrz文件初始化判断展示审核未通过原因及重选解决上传图片安卓与IOS兼容问题选择身份证图片上传图片templatescss样式 效果图 引入lrz文件 /* 引入外部上传压缩图片js 第一:在webpack.base.conf.js的m...

Smile_ping的博客 3837

【深度排查】VScode 远程 SSH 连接失败:从网络握手到服务部署的全链路诊断指南

本文详细解析了VScode远程SSH连接失败的常见原因及解决方案,从基础网络排查到SSH服务配置,再到VScode特有的问题处理。特别针对Ubuntu和TrueNAS系统提供了具体配置建议,帮助开发者快速解决'Could not establish connection'等连接问题,提升远程开发效率。

weixin_30301449的博客 447

Couldn‘t find device with uuid 恢复LVM元数据 linux

Couldn't find device with uuid 恢复LVM元数据 linux欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使

m0_57559579的博客 7171

Vue.js 2.0 移动端拍照压缩图片预览及上传 的全部源代码 lrz自己安装 npm i lrz --save -g 自己引入vux的 confirmplugin

&lt;template&gt; &lt;div&gt; &lt;h5 class="content-header"&gt; &lt;/h5&gt; &lt;div class="image-list"&gt; &lt;div style="text-align:center" ref="divGenres" clas

6799

避坑指南:STM32H7不同DMA控制器(MDMA/DMA2D/BDMA)到底该用哪个?

本文深入解析STM32H7系列芯片的DMA控制器选型策略,涵盖MDMA、DMA2D、BDMA等不同控制器的架构原理与性能对比。通过实际项目案例,提供高速TCM数据搬运、GUI加速、低功耗传输等场景的选型决策树,并分享性能优化与调试技巧,帮助工程师避开常见陷阱,提升系统效率。

weixin_26876073的博客 448

vue中引入常用的js插件npm方法

移动端图片压缩插件localResizeIMG 、介绍:   解决Webapp项目中上传图片时,拍照或者选择的图片太大,导致上传速度缓慢,用户体验差,高并发下,后台处理较大的文件压力大。   为了降低类似问题带来的影响,我们采用Vue2.0压缩图片插件localResizeIMG(lrz),压缩图片。   大体的思路:每次拍照或选择一张图片-然后压缩图片-预览上传。上传图片压缩插件是localR...

qq_23614619的博客 1577

yakit 通过codec 解决RSA加密

靶场就不过多叙述,具体的可以看yakit系列的前几篇文章。yakit 热加载进行 RSA 加密如何显示想要的payloads。

Arkmornings的博客 2688

交流异步机VVVF变频控制simulink/matlab仿真分析

VVVF,是Variable Voltage and Variable Frequency的缩写, 意为:可变电压、可变频率,也就是变频调速系统。 VVVF控制的逆变器连接电机,通过同时改变频率和电压,达到磁通恒定(可以用反电势/频率近似表征)和控制电机转速(和频率成正比)的目的,所以多应用在变频器中,属于工业自动化领域。

Ezekiel_Mok的博客 4213

移动端图片压缩上传解决方案

最近做移动端图片上传,发现图片尤其是iPhone拍照的图片都有2M左右,但是实际上项目中用不到这么大,于是想到要用js在前台进行压缩。 解决方案如下: 网上搜了很多效果都不怎么好,这个还行:http://think2011.net/localResizeIMG/test/ 使用可以参考具体文档,我是在Vue环境下,不过不影响使用,直接贴代码了: import croppe...

dianwangsa3895的博客 278

C++设计模式之观察者模式

观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统,当一个对象(称为“主题”或“发布者”)改变状态时,所有注册的观察者都会收到通知。

每天进步一点点。 602

Vue.js 2.0 移动端拍照压缩图片预览及上传

Vue.js 2.0 移动端拍照压缩图片预览及上传 2017-03-04 21:55 本站整理 浏览(35) 在学习和使用Vue.js 2.0 的过程中遇到不少不一样的地方,本来移动端开发H5应用,准备将mui框架和Vue.js+vue-router+vuex 全家桶结合起来使用,但是在拍照上传的实现过程中遇到了无法调用plus的H5+接口的问题,所以最后拍照上传功能还是使用inp

TKG09的博客 2万+

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解

LLM 大模型学习必知必会系列(十一):大模型自动评估理论和实战以及大模型评估框架详解

丨汀、的博客 3217

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能

转:https://www.jb51.net/article/162760.htm

weixin_39854011的博客 1502

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

移动端拍照上传图片之后压缩以及图片旋转问题

一、问题 针对旧项目翻新,旧的项目是使用lrz(官网)插件压缩图片,17年的项目了使用原生js写的,要翻成vue+webpack,同样使用lrz压缩图片时在部分小米手机和ios就会出现图片旋转的问题,其实不压缩图片时图片就是旋转的,就想有没有一个压缩组件又可以压缩又可以解决原本图片的旋转问题。 二、解决 最终找到了这个宝藏组件compressorjs,可以兼容安卓和ios解决旋转问题,其实在这之前试了lrz-lw等压缩组件可以解决ios的旋转但是小米手机一直不行。可以使用测试链接来拍照上传看看是否兼容

weixin_41722909的博客 854

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

vue3+ts H5拍照上传(图片压缩)

1H5拍照上传 + 拍照后图片截取

weixin_41404774的博客 1220

Vue.js移动端图片压缩插件localResizeIMG

1、介绍:   解决Webapp项目中上传图片时,拍照或者选择的图片太大,导致上传速度缓慢,用户体验差,高并发下,后台处理较大的文件压力大。   为了降低类似问题带来的影响,我们采用Vue2.0压缩图片插件localResizeIMG(lrz),压缩图片。   大体的思路:每次拍照或选择一张图片-然后压缩图片-预览上传。上传图片压缩插件是localResizeIMG , 这个插件的使用说明可以去看...

一只路过的小码农 6224

h5 图片上传 图片预览 使用jquery, 原生js, vue都可

localResizeIMG—lrz本地图片压缩裁剪插件链接: http://www.aijquery.cn/Html/jquerychajian/194.html lrz.all.bundle.js插件 图片上传样式 https://blog.csdn.net/Fiona_lms/article/details/80813112 vue使用exif获取图片旋转,压缩。 https://www.cnblogs.com/maruihua/p/12090196.html ...

qq_43528934的博客 259
上一篇: 微信登录报错Scope 参数错误或没有 Scope 权限
下一篇: 高德地图使用AMap.DrivingPolicy.LEAST_DISTANCE报错
RubyLinT
博客等级 码龄9年 31粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值