vue3.0移动端二次封装van-uploader实现上传图片的方法(van-uploader,vue,开发技术)

时间:2024-05-07 17:13:03 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1、前提:业务需求,最多上传6张图片,并可以实现本地预览

vue3.0移动端二次封装van-uploader实现上传图片的方法

2、解决方法:使用vant组件库中的van-uploader实现

3、代码实现

template

<divclass="upload-oss"><van-uploader:after-read="onRead":before-read="beforeRead":accept="fileType"v-model="fileList"multiple:max-count="maxCount":max-size="maxSize"@oversize="onOversize"></van-uploader></div>

js实现

import{moment}from'@/common'constemit=defineEmits(['update:fileList'])defineProps({maxCount:{//图片张数type:Number,default:6},maxSize:{//图片大小type:Number,default:500*1024},fileType:{//文件类型type:String,default:"image/*"},fileList:{//已上传的文件列表type:Array,default:(()=>{return[]})},})//文件大小超过限制时触发functiononOversize(file){console.log("请上传小于10M的图片")}//上传前置处理functionbeforeRead(file){if(Array.isArray(file)){file.forEach(item=>{if(item.type!=='image/jpeg'){console.log("请上传image格式图片")returnfalse}})if(file.type!=='image/jpeg'){ console.log("请上传image格式图片")returnfalse}}returntrue}asyncfunctiononRead(file){letcontent=fileletforms=newFormData()//判断当前上传几张图,一张以上则为数组结构if(Array.isArray(content)){content.forEach(item=>{forms.append("file",item.file)forms.append('filePath',`pc/client-${moment().format('YYYY-MM-DD')}/`)})}else{forms.append("file",content.file)forms.append('filePath',`pc/client-${moment().format('YYYY-MM-DD')}/`)}letres=awaitaxios.post({、、、、发起后端上传图片接口请求})if(res){emit("update:fileList",res.data)}}

4、实现的效果图

vue3.0移动端二次封装van-uploader实现上传图片的方法

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:vue3.0移动端二次封装van-uploader实现上传图片的方法的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C++引用的特点及与指针的区别是什么下一篇:

1 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18