微信小程序对上传的图片进行裁剪,让图片截取某个部分

您所在的位置:网站首页 小红书上传的图片被裁剪 微信小程序对上传的图片进行裁剪,让图片截取某个部分

微信小程序对上传的图片进行裁剪,让图片截取某个部分

2024-01-17 15:10| 来源: 网络整理| 查看: 265

背景:在进行人脸采集,需要上传图片,后端需要的格式是图片大小200kb,这个时候就需要我们上传图片之后进行裁剪。

实现思路

A   uni.chooseMedia打开相册获取图片路径(uni.chooseImage(OBJECT) | uni-app官网 (dcloud.net.cn))

B  将获取到的图片路径传入wx.cropImage对图片进行裁剪(wx.cropImage(Object object) | 微信开放文档 (qq.com))

C 将裁减后的图片路径通过uni.uploadFile上传到服务器生成网络地址(uni.uploadFile(OBJECT) | uni-app官网 (dcloud.net.cn))

出现图片裁剪

代码如下:  

wx.chooseMedia({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { wx.cropImage({ src: res.tempFiles[0].tempFilePath, // 图片路径 cropScale: '1:1', // 裁剪比例 success: function (res) { console.log(res, '我来了') if (!/(\.jpg|\.png|\.jpeg)$/.test(res.tempFilePath.toLowerCase())) { wx.showToast({ title: '请上传jpg、png或jpeg格式的照片', icon: 'none', duration: 2000 }); return; } var tempFilePaths = res.tempFilePath; // 压缩图片 wx.compressImage({ src: tempFilePaths, quality: 80, // 压缩质量 0-100 success: function (compressedRes) { var compressedFilePath = compressedRes.tempFilePath; // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 wx.showLoading() wx.uploadFile({ url: app.globalData.url + '/content/interface_faceAcquisition_upload.shtml', filePath: compressedFilePath, header: { "Content-Type": "multipart/form-data", }, name: 'imgFile', formData: { 'ownerId': self.data.id }, success: function (res) { console.log('上传', res) wx.hideLoading() if (res.statusCode == 200) { var result = JSON.parse(res.data); if (result.code == 200) { wx.navigateTo({ url: '../successResults/successResults?img=' + compressedFilePath }) } else { wx.showToast({ title: resulssage, icon: 'none' }) } } else { wx.showToast({ title: '上传出错', icon: 'none' }) } //do something }, fail(res) { wx.hideLoading() } }) }, fail(compressError) { console.log('压缩错误', compressError) } }) } }) } })



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3