【uniapp+vue3/vue2】ksp-cropper高性能图片裁剪工具,详解

news2024/12/23 2:41:06

效果图:

在这里插入图片描述

1、ksp-cropper是hbuilder插件市场中的一款插件,兼容vue2和vue3

ksp-cropper插件安装地址,直接点击跳转

2、插件用法相对简单
(1)只要url有值就会显示插件,为空就会隐藏插件
(2)点击确认按钮事件和点击取消按钮事件中,拿到临时路径和清空临时路径
在这里插入图片描述
3、调试过程中遇到的两个小问题
(1)打开插件的时候没有占满整个页面—ksp-cropper不需要包裹在有类名的标签中,单独放就行
(2)点击确认按钮之后还是触发uni.chooseImage事件-----ksp-cropper不要包裹在有点击事件的标签中,单独放就行

4、代码:

<image style="width: 30rpx; height: 25rpx" :src="data.avatar"
								@click="selectImage"></image>
<ksp-cropper mode="free" :width="200" :height="140" :maxWidth="1024" :maxHeight="1024" :url="data.url"
				@cancel="cancelSelect" @ok="updateAvatarImg"></ksp-cropper>
<script lang="ts" setup>
	import { reactive, getCurrentInstance, computed, ref } from "vue";
	const data = reactive({
avatar:'',//要显示的头像
url:'',//插件的url

})
//点击头像选择相册里的照片
	function selectImage() {
		uni.chooseImage({
			count: 1,
			success: (res) => {
				data.url = res.tempFilePaths[0];//给插件的url赋值,插件就会显示
			},
		});
	}
function selectedImage(ev) {
      //url设置为空,隐藏控件
      data.url = ''
		return new Promise((resolve, reject) => {
			uni.showLoading({
				mask: true,
				title: "上传头像中",
			});

			const uploadOptions = {
				url: baseurl+ "common/upload",
				filePath: ev.path,//插件返的临时路径
				name: "Image",
				header: {
					token: uni.getStorageSync("token"),
				},
			};
        //调用上传接口,将临时路径转换为https开头的图片格式
			uni.uploadFile({
				...uploadOptions,
				success: async (res) => {
					try {
						const { result } = JSON.parse(res.data);
						await updateAvatar(result);	//调用修改接口,实现修改头像				
						uni.hideLoading();
						resolve();
					} catch (error) {				
						console.error("上传失败", error);
						reject(error);
					}
				},
			});
		});
	}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FineReport----报表模板入门

FineReport----报表模板入门教程1 FineReport就一款类Excel操作界面的报表工具&#xff0c;通过拖拖拽拽简单实现报表制作&#xff0c;实现数据展示、数据查询、数据录入功能&#xff0c;并且支持图形多样化展示。 一、入门小例子 1. 打开设计器 启动FineReport设计器&…

Window 11中安装Rust编译环境和集成开发环境

https://blog.csdn.net/weixin_43882409/article/details/87616268是我参考的一篇文章。 下载 先到https://www.rust-lang.org/learn/get-started&#xff0c;下载64-Bit&#xff08;64位&#xff09;的rustup-init.exe文件。 使用其他方式进行安装的网址https://forge.rust…

视频特效编辑软件 After Effects 2022 mac中文版介绍 (ae 2022)

After Effects 2022 mac是一款视频特效编辑软件&#xff0c;被称为AE&#xff0c;拥有强大的特效工具&#xff0c;旋转&#xff0c;用于2D和3D合成、动画制作和视觉特效等&#xff0c;效果创建电影级影片字幕、片头和过渡&#xff0c;是一款可以帮助您高效且精确地创建无数种引…

初识面向对象(类和对象)

目录 1. 面向对象的初步认知 2.面向对象与面向过程 3.类定义和使用 4.类的定义格式 练习 5.类的实例化 什么是实例化 6.this引用 为什么要有this引用 什么是this引用 this引用的特性 7.对象的初始化 默认初始化 就地初始化 使用构造方法初始化 1. 面向对象的初步…

大数据毕业设计选题推荐-营业厅营业效能监控平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Logstash与FileBeat详解以及ELK整合详解

背景 日志管理的挑战&#xff1a; 关注点很多&#xff0c;任何一个点都有可能引起问题日志分散在很多机器&#xff0c;出了问题时&#xff0c;才发现日志被删了很多运维人员是消防员&#xff0c;哪里有问题去哪里 集中化日志管理思路&#xff1a; 日志收集》格式化分析》检索…

一种以RGB颜色登录的密码实现

当用户点击了某些密码之后&#xff0c;就可以登录成功&#xff0c;主要用于安全码&#xff0c;辅助安全手段。 颜色密码虽然不方便用键盘输入&#xff0c;只能用鼠标点击&#xff0c;但是容易记忆&#xff0c;也不容易被黑客攻陷。

PC9502双节锂电池充电管理芯片高精度外围元件少SOP8封装

■ 产品概述 PC9502 系列是一款双节锂电池充电管理芯片。 该芯片 包含了充电状态检测、充电过程、温度检测等&#xff0c;内部还集成 一个高精度的基准电压模块&#xff0c;此芯片采用 SOP-8 封装。 PC9502 充电包含三种模式&#xff1a;预充电&#xff0c;恒流充电&#x…

【REST API】什么是REST API?

参考&#xff1a; 什么是 REST API 一文读懂 (RESTful API)_哔哩哔哩_bilibili -------------------------------------------------------------------------------------------------------------------------------- REST API&#xff0c;又被称作RESTful API&#xff0c…

国内私募机构出海或成趋势?| A+CLUB深圳沙龙圆桌论坛

上篇国君国际、华锐技术、亚马逊云科技和彭博的四位专家对私募出海涉及到的业务和技术领域做了专业分享&#xff0c;本篇将为大家带来干货满满的圆桌论坛内容。此次圆桌由华锐技术机构业务总监-葛云娟主持&#xff0c;国君国际跨境业务销售主管-毛哲、清华大学教授-林健武、衍盛…

微服务之Nacos配置管理

文章目录 一、统一配置管理Nacos操作二、统一配置管理java操作1.引入依赖2.创建配置文件3.测试4.总结 三、Nacos配置自动更新1.添加注解RefreshScope2.使用ConfigurationProperties注解3.总结 四、Nacos多环境配置共享1.配置文件2.多种配置的优先级3.总结 一、统一配置管理Naco…

Spire.Office for .NET 8.10.2 同步更新-Crk

Spire.Office for .NET是 E-iceblue 提供的企业级 Office .NET API 的组合。它包括Spire.Doc、Spire.XLS、Spire.Spreadsheet、Spire.Presentation、Spire.PDF、Spire.DataExport、Spire.OfficeViewer、Spire.PDFViewer、Spire.DocViewer、Spire.Barcode和Spire.Email。Spire.O…

二.831(KMP)字符串详解

ne[3]枚举2次 ne[4],枚举3次 ne[5],枚举4次]b在后面了,就一个b就不可能在前面了]b舍弃 ne[6],枚举i-1次]一眼看最长相等前后缀,就是aab,aab ne[7],aaba,aaba ne[8],枚举i-1次]aabaa,aabaa 同理 怎么快速看呢!我想把b给夹起来]把中间夹的数越多就多 其实 加的有规律,最…

移动硬盘无法识别怎么办?有哪些免费的读写硬盘工具

在日常生活中&#xff0c;我们都习惯于把移动硬盘作为常用的存储介质&#xff0c;用来储存一些文档资料。那么&#xff0c;如果遇上硬盘无法读取的问题&#xff0c;我们又该如何是好呢&#xff1f; 其实硬盘无法读取的问题还是比较常见的&#xff0c;通常有以下几种处理方法&a…

QT 实现两款自定义的温度计/湿度控件

文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件&#xff0c;只好自己实现&#xff0c;文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计…

unity打AB包,AssetBundle预制体与图集(二)

第二步&#xff1a;加载AB包的资源&#xff0c;用于显示 using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.Networking; using UnityEngine.U2D; using UnityEngine.UI;public class GameLaunch : MonoBe…

B - Little Tiger vs. Deep Monkey

思路&#xff1a; &#xff08;1&#xff09;条件&#xff1a;n道单选题&#xff0c;分值不一定相同&#xff0c;选对或者错&#xff0c;A,B分别做题&#xff0c;得分多者胜&#xff1b; &#xff08;2&#xff09;问题&#xff1a;A至少做对几道题才能保证获胜概率达到50%&a…

web前端js基础------制作滚动图片

1&#xff0c;要求 通过定时器使其出现滚动的效果 可以通过按键控制图片滚动的方向&#xff08;设置两个按钮绑定点击事件&#xff09; 当鼠标悬停时图片停止&#xff0c;鼠标离开时图片继续向前滚动&#xff08;可以设置鼠标的悬停和离开事件&#xff09; 参考如下 conten…

【后端速成 Vue】初识指令(下)

前言&#xff1a; 上一篇初识指令(上)文章中&#xff0c;一共讲解了 v-html&#xff0c;v-show&#xff0c;v-if&#xff0c;v-else&#xff0c;v-else-if&#xff0c;v-on&#xff0c;v-bind 这些指令&#xff0c;当然&#xff0c;还剩不少的指令没有讲解&#xff0c;本问将会…

DBeaver Ultimate forMac/Win中文版:掌控数据宇宙的强大工具

在当今的数字化世界中&#xff0c;数据库管理软件在企业和个人的数据处理中扮演着至关重要的角色。在这篇文章中&#xff0c;我们将介绍一款备受赞誉的数据库管理软件——DBeaver Ultimate&#xff0c;它被广泛应用于各种行业和场景&#xff0c;帮助用户高效地管理和利用他们的…