图片API常用的接口
2021-03-31 05:24
标签:view 问题 size 长度 compress type back preview 不能 1.图片API 2.出现的坑 有时网络不好,还没传上去,但是用户点击过快,会超出图片上限 一直找不到解决办法,只能用蠢的方式来 图片API常用的接口 标签:view 问题 size 长度 compress type back preview 不能 原文地址:https://www.cnblogs.com/black-eyes/p/14591571.html // 查看图片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 ) { //限制最多几张图片,图片上限了直接终止这个函数,下面的不执行
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;
}
},
});
if判断是否超出长度了,是的话执行
imglist.splice(imglist.length-1,1) //本地图片地址数组
fileIdList.splice(fileIdList.length-1,1) //服务器图片地址数组
超出长度时后面的全部删除