当前位置: 首页 > news >正文

基于uniapp(vue3)H5附件上传组件,可限制文件大小

代码:

<template><view class="upload-file"><text>最多上传5份附件,需小于50M</text><view class="" @click="selectFile">上传</view></view><view class="list" v-if="fileListName.length"><view class="file-item" v-for="(item,index) in fileListName"><view class="_text_box">{{item}}</view><view @click="delFile(index)"><u-icon name="close-circle" color="red"></u-icon></view></view></view>
</template><script setup>import {ref} from "vue";const props = defineProps({// 文件最大体积(mb)maxsize: {type: [String, Number],default: 50}})const fileList = ref([])const fileListName = ref([])function selectFile() {uni.chooseFile({success: (chooseImageRes) => {const tempFilePaths = chooseImageRes.tempFilePaths;console.log("----", props.maxsize);console.log("----", chooseImageRes);if (chooseImageRes.tempFiles[0].size > (props.maxsize * 1024 * 1024)) {uni.showToast({icon: "none",title: "文件过大"})return}// uni.uploadFile({// 	url: '', // 	filePath: tempFilePaths[0],// 	name: 'file',// 	formData: {// 		'user': 'test'// 	},// 	success: (uploadFileRes) => {// 	}// });fileListName.value.push(chooseImageRes.tempFiles[0].name)}});}function delFile(index) {fileListName.value.splice(index, 1)}
</script><style lang="scss" scoped>.upload-file {width: 100%;display: flex;justify-content: space-between;align-items: center;text {font-size: 24rpx;font-weight: 400;color: #D8D8D8;}&>view {background: #6D76FF;border-radius: 16rpx 16rpx 16rpx 16rpx;width: 110rpx;height: 50rpx;text-align: center;line-height: 50rpx;color: #fff;}}.file-item {width: 100%;display: flex;justify-content: space-between;&>view:nth-child(1) {max-width: 500rpx;text-align: left;}}
</style>

相关文章:

  • Django QuerySet对象,all()方法
  • vue3+vite+nodejs,通过接口的形式请求后端打包(可打包全部或指定打包组件)
  • web的学习和开发
  • 面试专区|【40道移动端测试高频题整理(附答案背诵版)】
  • Android 生成 AAR 包
  • 论文学习_UVSCAN: Detecting Third-Party Component Usage Violations in IoT Firmware
  • 硬件工程师干了一年,公司无效卷,怎么破?
  • 手机数据恢复篇:恢复出厂设置后从iPhone快速恢复数据
  • 【分布式数据仓库Hive】HivQL的使用
  • Git 基础-创建版本库 git init、添加到暂存区git add、查看状态git status、查看改动git diff
  • ESP32-VScode环境设置
  • 无线WiFi毫米波雷达传感器成品,智能照明人体感应开关,飞睿智能点亮智慧生活
  • js学习--制作选项卡
  • 【LLM 论文】Self-Refine:使用 feedback 迭代修正 LLM 的 output
  • 微信小程序tabar属性
  • 《深入 React 技术栈》
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Apache Pulsar 2.1 重磅发布
  • conda常用的命令
  • DataBase in Android
  • EOS是什么
  • ES6 学习笔记(一)let,const和解构赋值
  • express + mock 让前后台并行开发
  • MaxCompute访问TableStore(OTS) 数据
  • PHP 7 修改了什么呢 -- 2
  • React-Native - 收藏集 - 掘金
  • VuePress 静态网站生成
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 当SetTimeout遇到了字符串
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 和 || 运算
  • 日剧·日综资源集合(建议收藏)
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 详解NodeJs流之一
  • 译有关态射的一切
  • PostgreSQL之连接数修改
  • Prometheus VS InfluxDB
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 函数计算新功能-----支持C#函数
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (排序详解之 堆排序)
  • (四) Graphivz 颜色选择
  • (四)事件系统
  • (万字长文)Spring的核心知识尽揽其中
  • (一)插入排序
  • (转载)OpenStack Hacker养成指南
  • .bat批处理(六):替换字符串中匹配的子串
  • .Family_物联网
  • .NET C# 使用GDAL读取FileGDB要素类