背景:一个图片上传需求,在正常设备代码生效,嵌入mac设备的企微后
1、img标签的accept属性不生效
2、上传图片大小限制为10mb,但当我传入5mb的jpg就会弹出大小toast提示
解决:
- img标签的accept属性不生效,需要自己加代码进行判断。
- accept写为'image/png,image/jpg',不仅不生效,它还会将jpg图片自动转为png,图片大小会发生变化,导致bug出现。需要写为accept='image/*',或者直接去掉accept属性
代码
<input type='file' multiple accept='image/*' style='display: none' @change=''/>
function judgeFormat(files) {
const regex = /\.(png|jpg)$/i
if(files.findIndex((item) => !regex.test(item.name)) !== -1) {
showToast('图片格式错误,请重新上传')
}
for(let idx=0; idx < arr.length) {
if(!regex.test(arr[idx].name)) {
arr.splice(Number(idx), 1)
} else {
idx++
}
}
}