Vant Uploader 上传多张图片设置status

vant拍摄视频上传以及多张图片上传 阅读详情

Uploader多张上传,使用file.status设置上传状态

1、页面结构

<van-uploader :before-read="beforeRead" :after-read="afterRead" :before-delete="deletImg"
		:max-count="maxSize" v-model="fileList" multiple>
	<van-icon name="plus" />
</van-uploader>

2、前置条件放到beforeRaed方法中 (是否是图片类型、是否超过限定文件大小)

在beforeRead方法中判断文件是否符合条件后,一定要记得返回true或者false状态,不然afterRead方法不会执行。很重要!!!!

beforeRead(file) {
	let This = this
	if (Array.isArray(file)) {
		if (file.length > This.maxSize) {
			This.$toast("超过最大上传张数!")
			return false
		}
		file.forEach(item => {
			if (!item.type.startsWith('image')){
			    this.$toast("请上传图片!")
				return false
			}else if(item.size > 10485760){
                this.$toast("图片超过10M!")
                return false
            }
	    })

	} else {
		if (!file.type.startsWith('image')){
			this.$toast("请上传图片!")
			return false
		}

        if(file.size > 10485760){
            this.$toast("图片超过10M!")
			return false
        }
	}

	return true
},

3、在afterRaed中设置上传状态、上传提示语

afterRead(file) {
	let This = this
	if(Array.isArray(file)){
		file.forEach(item => {
		    item.status = 'uploading'
			item.message = '上传中...'
			This.uploadMaterialImg(item)
		})
	}else {
			file.status = 'uploading'
			file.message = '上传中...'
			this.uploadMaterialImg(file)
	}
}

 

 

 4、调用接口上传成功后,将状态设置为成功

关于compressFile()是图片压缩的方法,在我的另一篇文章中有写到,感兴趣可以看看,传送门附上vue 图片上传压缩(vue+Vant+image-compressor)

async uploadMaterialImg(imgFile) {
	let This = this
	let file = await this.compressFile(imgFile)
	let formData = new FormData()
	formData.append('file', file, file.name)
	uploadMaterial(formData).then(res => {
		if (res.code == 200) {
			imgFile.status = 'done'
			imgFile.message = '上传成功'	
		} else {
			This.$toast("照片上传失败,请重新上传!")
		}
	}).catch(error => {
		imgFile.status = 'failed'
		imgFile.message = '上传失败'
		This.$toast("照片上传失败,请重新上传!")
	})
}

到此,上传文件设置上传状态的路程完毕!

完~

vant van-uploader上传已经成功变修改了status里的内容 vant van-uploader上传已经成功变修改了status里的内容 postImg(file) { file.status = 'uploading'; file.message = '上传中...'; this.files.name = file.file.name; // 获取文件名 this.files.type = file.file.type; // 获取类型 setTimeout(() => { 阅读详情

相关推荐

vant 调取上传照片

<van-uploader accept="image/gif, image/jpeg ,image/png" :max-size=6000000 v-model="list.uploader" multiple max-count="2" :after-read="afterRead" @oversize="onOversize" /> > 只能调用手机相册

weixin_42327537的博客 2848

Vant Uploader 上传图片功能

【代码】Vant Uploader 上传图片功能。

CSSAJBQ_的博客 8323

FISCO BCOS平台的用户权限控制与分类管理

在区块链技术日益广泛应用的今天,如何管理与控制不同用户的权限,确保系统的安全性与高效性,成为了区块链平台不可忽视的一部分。FISCO BCOS作为一款高效的联盟链平台,通过细粒度的权限控制机制,提供了对不同用户权限的有效管理。本文将深入探讨FISCO BCOS如何实现用户的权限控制,并对不同用户进行分类与权限管理。FISCO BCOS平台通过精密的权限控制机制,不仅提供了对用户表和系统表的细粒度权限管理,还通过工具与接口为开发者和管理员提供了便捷的权限配置与查询功能。

2201_75798391的博客 1060

vant 组件库中的 图片上传组件(多张图片上传,删除图片传自定义参数)

图片上传前,限制图片格式。图片上传后,上传七牛云接口返回图片url,赋值给图片路径变量。图片删除坑:vant上传组建中内置的删除事件,默认携带两个参数,file和detail,detail中包括name和index字段。想要携带自定义参数,绑定事件时候用箭头函数:before-delete = " (file,detail) => {delImg (自定义参数)}"

m0_58959716的博客 5145

PHP证书图片生成

$realname = "姓名"; $schoolname = "学校"; $idcard = "身份证号"; $image = imagecreatefrompng('certification.png'); // 证书模版图片文件的路径 $red = imagecolorallocate($image,00,00,00); // 字体颜色

4035

HybridCLR热更新打包报错全解析:从原理到实战解决方案

热更新技术是现代游戏和应用开发中实现动态内容交付与Bug修复的核心机制,它允许开发者在无需重新发布完整应用的情况下更新代码逻辑。其原理通常涉及在运行时加载并执行新的代码模块,这要求框架在底层实现安全的代码隔离、内存管理与元数据桥接。在Unity生态中,HybridCLR作为基于IL2CPP的高性能热更新解决方案,通过补充元数据和AOT泛型引用技术,实现了对C#代码的原生级热更支持,显著提升了开发迭代效率与线上问题修复能力。然而,在实际的工程实践中,尤其是在面向Android、iOS等多平台打包构建时,开发者

weixin_29017445的博客 308

Vant Weapp Uploader 文件上传组件完全指南:从基础用法到源码级原理

本文围绕 Vant Weapp 组件库中的 Uploader 文件上传组件展开,系统讲解其引入方式、基础用法、图片预览、上传状态管理、数量限制、自定义样式、上传前校验以及小程序云开发集成等完整实践,并结合仓库源码剖析其文件选择、类型识别、事件流转与尺寸控制等底层实现。读完本文,你将掌握在微信小程序中基于 `van-uploader` 构建完整文件上传交互的实战能力,同时理解该组件"选择与预览由组件

gitblog_00749的博客 401

Unity 实现动态网格地图生成与交互组件

本文详细介绍了在Unity中实现动态网格地图生成与交互组件的完整方案。从基础网格单元实现到高级交互功能,涵盖网格生成器核心逻辑、事件驱动架构、性能优化技巧以及六边形网格等特殊实现。特别适合游戏开发者学习如何构建战棋、模拟经营类游戏的可交互地图系统,提升开发效率与用户体验。

weixin_29015483的博客 1067

vant组件库上传图片

vant组件库上传图片

m0_71015996的博客 397

【180609】剑侠情缘_整套源码+地图编辑器(单机学习例子)

剑侠情缘_整套源码+地图编辑编(单机学习例子)完整源码下载地址:点击下载备用下载地址:点击下载

资源小站 6277

算法面经手撕系列(2)--手撕BatchNormlization

手动实现/手撕BatchNormlization

罟霖同学的站点 865

vue上传图片

<template> <div class="textarea"> <Field required label="上传图片"> <template #input> <Uploader :after-read="uploadFile" v-model="idFront" :multiple="false" :max-count="1" .

weixin_41815063的博客 180

第一节:初识n8n与下一代工作流自动化

本章介绍了n8n的Fair-code理念与节点式架构,对比了其与Zapier/Make的核心差异,并引导读者在n8n Cloud上完成首次界面导览,建立了工作流自动化的宏观认知。

easeyoo的专栏 104

移动端个人中心实战:头像上传与图片预览的完整实现

在移动端开发中,文件上传与图片预览是常见但易出问题的环节。其核心原理涉及FileReader将文件转为本地路径、FormData封装二进制数据,以及图片压缩优化。这些技术能显著提升用户体验,避免上传失败或预览卡顿。典型应用场景包括用户头像更换、证件上传等个人中心模块。通过合理使用Vant组件与全局状态管理,可解决数据同步与兼容性问题,确保流程顺畅。

weixin_34343000的博客 145

基于STM32、HAL库的MICRF112YMM-TR 无线收发器驱动程序设计

内部集成了 VCO、PLL、PA、LNA、混频器、滤波器等射频功能单元,极大减少了外部元件数量,降低了设计和布线难度。: 具有多种工作模式(睡眠、待机、接收、发射),待机电流极低,非常适合电池供电的物联网(IoT)设备。是 Microchip 公司生产的一款高性能、低功耗的单片 UHF ASK/FSK 收发器芯片。: 支持 ASK (幅移键控) 和 FSK (频移键控) 调制,适应不同应用需求。// 可以添加其他配置参数,如中心频率、数据速率等。智能家居(安防、遥控、传感)远程钥匙进入系统 (RKE)

corlin6688的博客 415

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【前端】项目中遇到的问题汇总(长期更新)

【长期更新】前端项目中常遇到的问题汇总(vue3+elementPlus+node.js+axios+webpack)

sinat_39394862的博客 1237

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Unity资源管理架构深度解析:YooAsset核心设计与工程实践

在Unity游戏开发中,资源管理是构建稳定、高效项目的核心技术基础。其核心原理在于通过合理的资源生命周期管理,解决内存泄漏、加载卡顿和包体膨胀等工程难题。现代资源管理方案通过引入资源包(Package)、加载器(Loader)和清单(Manifest)系统,实现了从中心化管理器到职责分离的架构演进,显著提升了并发加载能力和内存控制精度。这一技术价值在于将资源管理从“玄学调试”转化为可控的工程体系,直接支撑起热更新、动态下载和大世界流式加载等复杂应用场景。本文以YooAsset这一主流方案为例,深入剖析其如何

weixin_33898233的博客 470

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

让图片上传变得更简单:vue和vant的完美融合

让图片上传变得更简单:vue和vant的完美融合

希望看完文章的你能够带着答案离开。 9675

利用vant上传图片功能(可多选)

<div class="upimg"> <span>上传图片</span> <van-uploader v-model="fileList" @delete="deleteimg" :after-read="afterRead" multiple :max-count="9" ...

hy3528的博客 7406

【vue】 vant-upload多选上传图片

官方给出的上传回调有很多种,before-read after-read before-delete 结合需求以及代码优化 我们这里只用到了 after-read 亲测好用。是的,既然图片是多张上传,肯定需要数量限制嘛,不然整个几百张那也得炸…

小墨鱼的前端问题录 3027

vant中uploader上传图片

vant中uploader上传图片 1.html部分 <van-field name="uploader" label="上传图片"> <van-uploader :before-read="beforeRead" :after-read="afterRead" :delete="deleteImg" slot="input" v-model="imageList" multiple :max-count="4" /> </van-field> //其中: //

weixin_50651378的博客 1万+

vant+vue+springboot 实现图片单张和多张批量上传

最近做一个H5项目,使用的是vue2+vant2+springboot前后端分离架构。有一些选择多张图片上传的需求,做完在这里分享一下。需要注意的是在beforeRead 函数中,做文件校验时别出错,否则选择多张图片后会没反应。accept=“image/*” 表示只接受图片类型文件。mutiple 默认为true,多选图片需设置为true。:max-count="5" 限制上传的图片数量。beforeDelete 函数表示删除文件前。beforeRead 函数表示读取文件前。

qq_38599266的博客 1746

vue项目中vant上传多张图片校验与压缩上传图片

上传图片校验与压缩上传图片分享一个有关利用vue如何实现一个将图片压缩并上传功能,在开发中,项目常常有需要上传图片功能,但我们无法决定用户上传图片的大小,上传到服务器的图片太大会导致服务器承受不了,那么我们就只能把用户上传的图片,故而前端传图片的时候将图片压缩后再传到服务器,减少资源的消耗。

qq_41786018的博客 1639

H5中Vant上传多张图片在beforeRead之后压缩手动上传

这里也是参考了这位大佬给的灵感利用image-conversion 插件直接对图片进行压缩。下面是使用步骤// 保存附件//这里是防止详情里的url再次上传resolve()//这个是模拟的接口resolve()})},

qq_57684473的博客 1080

vant多张图片上传

vant组件多张图片上传 <!-- * @Description: * @Author: xiexy * @Date: 2021-07-19 14:50:35 * @LastEditTime: 2021-09-13 10:32:46 * @LastEditors: Please set LastEditors * @Reference: --> <template> <div class="upload-health-certificate"> &

q4717529的博客 1022
上一篇: vant picker 设置text
下一篇: 微信H5公众号chooseImg上传图片
逩跑鍀小学生
博客等级 码龄5年 37粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值