标签:imgformat false vant 文件 image file vue3 return uploader
问题:限制 accept 为 'image/*' 时,部分机型还是可以上传视频或者文件的问题
解决方案:uploader 有一个 before-read 的参数,具体作用是( 文件读取前的回调函数,返回 false
可终止文件读取 官方文档API )使用这参数来判断文件类型最终限制文件上传
具体代码(用的是vue3):
<template>
<van-uploader v-model="data.fileList" accept="image/*" max-count="6" :before-read="limitTip" multiple />
</template>
<script setup>
let data = reactive({
fileList: []
})
function limitTip(file: any) {
const imgformat = /image\/(png|jpg|jpeg)$/;
//因为开启了多选,所以当选择一张图片时, file 为一个对象,多张时,file 为数组,所以需要判断
if (Array.isArray(file)) {
for (let i = 0; i < file.length; i++) {
if (!imgformat.test(file[i].type)) {
myToast('目前只支持图片');
return false;
}
}
} else {
if (!imgformat.test(file.type)) {
myToast('目前只支持图片');
return false;
}
}
return true
}
</script>
标签:imgformat,false,vant,文件,image,file,vue3,return,uploader 来源: https://www.cnblogs.com/slackerRen/p/16483738.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。