企微不能正确识别img的accept属性---天坑

162 阅读1分钟

背景:一个图片上传需求,在正常设备代码生效,嵌入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++
    }
  }
}