标签:view 问题 size 长度 compress type back preview 不能
1.图片API
// 查看图片API previewImage(e) { console.log(e) var _this = this my.previewImage({ //查看图片的接口 current: e.target.dataset.id, //点击图片时显示的位置,比如我点开第三张图,显示的就是3 urls: _this.data.photos, //点击图片时显示的图片数组,根据current拿到下标显示对应图片 }); }, // 调用图片API chooseImage() {var _this = this if (this.data.photoNum <= 0) { //限制最多几张图片,图片上限了直接终止这个函数,下面的不执行 commonShowToast("none", "最多上传6张图片,你已达上限") return; } my.chooseImage({ //调用相机相册的接口 sourceType: [‘album‘], //拍照和相册,安全问题拍照不能使用,只写相册 count: _this.data.photoNum, //最多上传的图片数 success: (res) => { //成功调用返回的函数 my.compressImage({ //压缩图片的接口 apFilePaths: res.apFilePaths, compressLevel: 3, //不压缩,0-4各对应低、中、高、不压缩、根据网络 success: data => { console.log(data); var compressdata = data.apFilePaths console.log("compressdata", compressdata) var photoUrl = compressdata photoUrl.forEach(item => { var fileSize = ‘‘; my.getFileInfo({ //限制文件大小的接口 apFilePath: item, success: (result) => { console.log(‘fileInfo‘, result.size) fileSize = result.size console.log(‘filesize‘, fileSize) //限制图片上传不得大于5MB if (fileSize > 5242880) { console.log(‘filesize‘, fileSize) commonShowToast(‘none‘, ‘图片上传大小不得超过5MB,请重新上传‘) return; } }, });
2.出现的坑
有时网络不好,还没传上去,但是用户点击过快,会超出图片上限
if判断是否超出长度了,是的话执行
imglist.splice(imglist.length-1,1) //本地图片地址数组 fileIdList.splice(fileIdList.length-1,1) //服务器图片地址数组 超出长度时后面的全部删除
一直找不到解决办法,只能用蠢的方式来
标签:view 问题 size 长度 compress type back preview 不能
原文地址:https://www.cnblogs.com/black-eyes/p/14591571.html