App图片上传问题
使用nut-ui upload组件上传 ,maximize,accept 失效
maximize
问题:限制图片上传的最大字节数10M,iphone11 通过, iphone13本地显示的图片大小大于10M却可以正常上传
解决:自己判断 图片的大小 ,监听上传图片数组,通过下方代码获取图片的大小,假如图片大小大于1010241024则从该数组中删除改图片 this.fileList.splice(index,1)
const dataURLtoBlob = dataurl => {
const arr = dataurl.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const bstr = atob(arr[1].replace(/\s/g, ''))
let n = bstr.length
const u8arr = new Uint8Array(n)
// eslint-disable-next-line no-plusplus
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new Blob([u8arr], { type: mime }) // 值,类型
}
accept
问题:accept=".jpg,.png,.jpeg" iphone手机通过,安卓13版本通过,Android7及Android10点不开,即点击upload组件没有反应,此处不知道什么原因,然后修改 accept="image/jpg,image/jpeg,image/png",可以点开upload组件,但是Android7及Android10 弹出的图片文件里 的图片全为灰色,不可点击,只有照片文件中的图片可以上传
解决:accept="image/*",暂时解决图片上传问题,然后再监听图片数组,限制图片的格式(仍存在一个问题,安卓不可以调用摄像机来拍照上传)