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

uniapp v3+ts 使用 u-upload上传图片以及视频

上传图片方法 

<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="file" multiple :maxCount="6"></u-upload>
// maxCount 最大上传数const fileList1 = ref([]);const file = ref([])// 删除图片const deletePic = (event : any) => {fileList1.value.splice(event.index, 1);file.value.splice(event.index, 1);// console.log(fileList1.value); file};// 新增图片const afterRead = async (event : any) => {// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式let lists = [].concat(event.file);let fileListLen = fileList1.value.length;lists.map((item) => {fileList1.value.push({...item,status: 'uploading',message: '上传中',});});for (let i = 0; i < lists.length; i++) {const result = await uploadFilePromise(lists[i].url);let item = fileList1.value[fileListLen];fileList1.value.splice(fileListLen, 1, {...item,status: 'success',message: '',url: result,});fileListLen++;}};const uploadFilePromise = (url : any) => {return new Promise((resolve, reject) => {let a = uni.uploadFile({url: import.meta.env.VITE_APP_BASE_URL + 'file/image', // 图片上传地址filePath: url,name: 'file',header: {"site-id": import.meta.env.VITE_SITE_ID,"token": getToken()},formData: {},success: (res) => {let respic = JSON.parse(res.data)console.log(respic.data.url, '图片');let obj = respic.data.urlfile.value.push(obj)setTimeout(() => {resolve(res.data.data);}, 1000);},});});};

上传视频 方法

 <u-upload accept="video" :fileList="videoFileList" @afterRead="videoAfterRead"@delete="deleteVideo " name="3" multiple :maxCount="1"></u-upload>const videoFileList = ref([])const videoAfterRead = async (event : any) => {let lists = [].concat(event.file);let fileListLen = videoFileList.value.length;lists.map((item) => {videoFileList.value.push({...item,status: 'uploading',message: '上传中',});});for (let i = 0; i < lists.length; i++) {const result = await uploadVideoFile(lists[i].url);let item = videoFileList.value[fileListLen];videoFileList.value.splice(fileListLen, 1, {...item,status: 'success',message: '',url: result,});fileListLen++;}};const videoValue = ref('')const uploadVideoFile = (url : any) => {return new Promise((resolve, reject) => {let a = uni.uploadFile({// 后端上传视频地址url: import.meta.env.VITE_APP_BASE_URL + 'file/video', // 视频上传地址filePath: url,name: 'file',// header 携带内容 根据自己后端要求header: {"site-id": import.meta.env.VITE_SITE_ID,"token": getToken()},success: (res) => {res.data = JSON.parse(res.data)// console.log(res.data, '测试');videoValue.value = res.data.data.url// console.log(videoValue.value, '测试');// 这个状态值要根据后端接口返的 若对不上 则视频不会回显,一直显示上传中if (res.data.code == 1) {setTimeout(() => {resolve(res.data.url)}, 1000)}},fail: (error) => {console.log(error, '上次失败的原因');uni.showToast({title: '上传失败',icon: 'none'});reject(error)}});});};const deleteVideo = (event : any) => {videoFileList.value.splice(event.index, 1);videoValue.value = '';}

点击提交时 要传递视频 跟图片的地址值

const submit = () => {let params = {images: file.value,video: videoValue.value}console.log(params, '发布的参数');// 执行自己的请求 todo}

相关文章:

uniapp v3+ts 使用 u-upload上传图片以及视频

上传图片方法 <u-upload :fileList"fileList1" afterRead"afterRead" delete"deletePic" name"file" multiple :maxCount"6"></u-upload> // maxCount 最大上传数const fileList1 ref([]);const file ref([…...

为什么虚拟dom会提高性能?

虚拟 DOM&#xff08;Virtual DOM&#xff09;是一种在前端开发中常用的技术&#xff0c;它可以提高性能并改善用户体验。虚拟 DOM 的原理和用处如下&#xff1a; 原理&#xff1a; 当页面状态发生变化时&#xff0c;虚拟 DOM 会以 JavaScript 对象的形式进行更新&#xff0c;而…...

2015年亚太杯APMCM数学建模大赛A题海上丝绸之路发展战略的影响求解全过程文档及程序

2015年亚太杯APMCM数学建模大赛 A题 海上丝绸之路发展战略的影响 原题再现 一带一路不是实体或机制&#xff0c;而是合作与发展的理念和主张。凭借现有有效的区域合作平台&#xff0c;依托中国与有关国家现有的双边和多边机制&#xff0c;利用古丝绸之路的历史象征&#xff0…...

js中HTMLCollection如何循环

//不带索引 let divCon document.getElementsByClassName("el-form-item__error"); if (divCon.length > 0) {for (var item of divCon) {console.log("打印&#xff1a;", item.innerText);} }//带有索引 let divCon document.getElementsByClassNam…...

Kafka - 3.x 副本不完全指北

文章目录 kafka 副本的基本信息Leader选举过程Kafka Controllerkafka 分区副本Leader的选举流程实际演示① 查看first的详细信息&#xff0c;注意观察副本分布情况② 停掉hadoop103上的kafka进程③ 再次查看first的相信信息&#xff0c;观察副本分布④ 处理分区leader分布不均匀…...

二分归并法将两个数组合并

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> main() {int a[5] {1,3,4,5,6};int b[4] {2,7,8,9};int c[9];int m0, n0,k0;while (m < 5 && n < 4){if (a[m] < b[n]){c[k] a[m];//谁小谁先进数组m; k;}else{c[k] b[n];k; n;}}while (m <…...

ROS自学笔记十六:URDF优化_xacro文件

xacro 是一种 XML 扩展语言&#xff0c;用于创建和维护 URDF&#xff08;Unified Robot Description Format&#xff09;文件。它允许你使用参数化、宏和条件语句等功能来更灵活、更可维护地定义机器人模型。下面是关于 xacro 的详细解释&#xff1a; 1. 参数化&#xff08;Par…...

XMLHttpRequest拦截请求和响应

环境&#xff1a; angular 实现&#xff1a; 拦截请求 向请求信息增加字段 拦截响应 过滤返回值 响应拦截&#xff1a; 根据angular使用的XMLHttpRequest 将对原本的请求转移到另一个将监听返回事件挂载到另一个世纪发送请求的xml上 使用get set 将客户端获取的res…...

前端 读取/导入 Excel文档

情况&#xff1a; 需要通过Excel表&#xff0c;将数据导入到数据库&#xff0c;但是后台人员出差了&#xff0c;我又只会PHP&#xff0c;没用过node&#xff0c;所以只能前端导入Excel文件&#xff0c;然后循环调用后台的单条添加接口了。 库&#xff1a; Excel.js&#xff08…...

聊聊springboot的TomcatMetricsBinder

序 本文主要研究一下springboot的TomcatMetricsBinder TomcatMetricsAutoConfiguration org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/TomcatMetricsAutoConfiguration.java Configuration(proxyBeanMethods false) ConditionalOnWebApplication C…...

《动手学深度学习 Pytorch版》 10.6 自注意力和位置编码

在注意力机制中&#xff0c;每个查询都会关注所有的键&#xff0d;值对并生成一个注意力输出。由于查询、键和值来自同一组输入&#xff0c;因此被称为 自注意力&#xff08;self-attention&#xff09;&#xff0c;也被称为内部注意力&#xff08;intra-attention&#xff09;…...

2023年第四届MathorCup高校数学建模挑战赛——大数据竞赛B题 实现代码

根据之前发布的思路 第一步 进行数据合并 import pandas as pd# 读取所有附件的数据 data1 pd.read_excel(附件一.xlsx) data2 pd.read_excel(附件二.xlsx) data3 pd.read_excel(附件三.xlsx) data4 pd.read_excel(附件四.xlsx)# 根据商品编码将附件一和附件二连接 combi…...

larvel 中的api.php_Laravel 开发 API

Laravel10中提示了Target *classController does not exist&#xff0c;为什么呢&#xff1f; 原因是&#xff1a;laravel8开始写法变了。换成了新的写法了 解决方法一&#xff1a; 在路由数组加入App\Http\Controllers\即可。 <?phpuse Illuminate\Support\Facades\Route;…...

虚拟机构建部署单体项目及前后端分离项目

目录 一.部署单体项目 1.远程数据库 1.1远程连接数据库 1.2 新建数据库运行sql文件 2.部署项目到服务器中 3.启动服务器运行 二.部署前后端分离项目 1.远程数据库和部署到服务器 2.利用node环境启动前端项目 3.解决主机无法解析服务器localhost问题 方法一 ​编辑 方法二 一.部…...

C++之特殊类的设计

目录 一、单例模式 1、设计模式 2、单例模式 1、饿汉模式 2、懒汉模式 3、单例对象的释放问题 二、设计一个不能被拷贝的类 三、设计一个只能在堆上创建对象的类 四、设计一个只能在栈上创建对象的类 五、设计一个不能被继承的类 一、单例模式 1、设计模式 概念&am…...

Java练习题2020 -1

统计1到N的整数中&#xff0c;被A除余A-1的偶数的个数 输入说明&#xff1a;整数 N(N<10000), A, (A 输出说明&#xff1a;符合条件的数的个数 输入样例&#xff1a;10 3 输出样例&#xff1a;2 (说明&#xff1a;样例中符合条件的2个数是 2、8) import java.util.Scanner;p…...

LuaTable转C#的列表List和字典Dictionary

LuaTable转C#的列表List和字典Dictionaty 介绍lua中创建表测试lua中list表表转成List表转成Dictionary 键值对表表转成Dictionary 多类型键值对表表转成Dictionary 总结 介绍 之前基本都是从C#中的List或者Dictionary转成luaTable&#xff0c;很少会把LuaTable转成C#的List或者…...

Redis快速上手篇七(集群)

在赶工了..... Redis集群 主从复制的场景无法吗满足主机单点故障时需要引入集群配置 一般数据库要处理的读请求远大于写请求 &#xff0c;针对这种情况&#xff0c;我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服务器主要用来处理写请求&#xff0c;部署多台从…...

Mac 安装nvm

安装方案&#xff1a; 1. 从github下载nvm仓库到 ~/目录 地址&#xff1a;https://github.com/nvm-sh/nvm.git git clone https://github.com/nvm-sh/nvm.git 2. 进入nvm目录中执行install.sh等待执行完成&#xff0c;执行的操作方法就是直接将文件拖入到终端然后回车。 3.…...

python 从mssql取出datetime2类型之后格式化

我mssql是datetime2类型&#xff0c;用df取出之后发现是个纳秒的int&#xff08;1698419713000000000 这种&#xff09; 所以格式化的话就需要变成秒为单位&#xff0c;他们之间是10的9次方倍。所以先除以1e9之后用datetime.datetime.fromtimestamp()转换之后再format就行了 l…...

all-MiniLM-L6-v2问题修复:相似度计算与维度匹配错误处理

all-MiniLM-L6-v2问题修复&#xff1a;相似度计算与维度匹配错误处理 1. 问题概述 all-MiniLM-L6-v2作为轻量级句子嵌入模型&#xff0c;在实际应用中常遇到两类核心问题&#xff1a; 相似度计算异常&#xff1a;结果超出[-1,1]范围或明显不符合语义维度匹配错误&#xff1a…...

幻境·流金惊艳效果:微观世界视角——细胞结构、晶体生长、电路板纹路超清生成

幻境流金惊艳效果&#xff1a;微观世界视角——细胞结构、晶体生长、电路板纹路超清生成 “流光瞬息&#xff0c;影画幻成。” 想象一下&#xff0c;你正透过一台超级显微镜&#xff0c;观察一个我们肉眼无法触及的微观世界。在那里&#xff0c;细胞壁的纹理如同精密的蜂巢&…...

短视频创作者必备:Qwen3本地字幕生成工具,5步快速上手

短视频创作者必备&#xff1a;Qwen3本地字幕生成工具&#xff0c;5步快速上手 1. 引言&#xff1a;为什么需要本地字幕生成工具 作为短视频创作者&#xff0c;你是否经常遇到这样的困扰&#xff1a;剪辑完视频后&#xff0c;手动添加字幕耗时费力&#xff1b;使用在线工具又担…...

工业软件集成:在SolidWorks中嵌入Qwen3-ASR-0.6B实现语音指令操作

工业软件集成&#xff1a;在SolidWorks中嵌入Qwen3-ASR-0.6B实现语音指令操作 1. 引言 想象一下这个场景&#xff1a;你正在用SolidWorks设计一个复杂的装配体&#xff0c;双手在鼠标和键盘之间来回切换&#xff0c;一会儿旋转视图&#xff0c;一会儿调整尺寸&#xff0c;一会…...

深入探索UEFI Shell中的dh命令:高效检测系统Protocol安装状态

1. UEFI Shell与dh命令基础认知 刚接触UEFI开发时&#xff0c;我经常遇到这样的困扰&#xff1a;某个驱动明明编译通过了&#xff0c;运行时却提示"Protocol not found"。传统做法是在代码里插入调试语句&#xff0c;用gBS->LocateProtocol检查Protocol状态&#…...

不只是PointNet++:盘点那些依赖pointnet2_ops_lib的热门点云项目(PCT/SnowflakeNet)及一键配置心得

点云深度学习生态中的关键组件&#xff1a;pointnet2_ops_lib深度解析与实战指南 在三维视觉领域&#xff0c;点云数据处理一直是研究热点。不同于传统图像数据&#xff0c;点云具有无序性、稀疏性和非结构化的特点&#xff0c;这给深度学习模型的设计带来了独特挑战。PointNet…...

别再混着用了!Matplotlib的两种画图接口(plt.plot vs. ax.plot)到底怎么选?

Matplotlib接口选择指南&#xff1a;何时用plt.plot&#xff0c;何时用ax.plot&#xff1f; 在数据可视化领域&#xff0c;Matplotlib无疑是Python生态中最强大的工具之一。但许多用户在使用过程中常常困惑&#xff1a;为什么有的代码用plt.plot()&#xff0c;有的却用ax.plot(…...

免费开源策略卡牌:如何在无名杀中创造你的专属三国战场

免费开源策略卡牌&#xff1a;如何在无名杀中创造你的专属三国战场 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 在当今数字游戏世界中&#xff0c;有一款独特的开源策略卡牌游戏正悄然改变着玩家与游戏的关系。这款名为"无…...

springboot-vue+nodejs的宠物医院电子病历管理系统的设计与实现

目录技术栈选择系统模块划分开发阶段规划关键实现细节部署方案测试与优化项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作技术栈选择 后端采用Spring Boot框架&#xff0c;提供RESTful API接口&#xff0c;处理业务逻辑和数据持…...

别再死记硬背了!用Python(NumPy/SymPy)实战求解常系数微分方程,特征值法保姆级教程

用Python实战求解常系数微分方程&#xff1a;特征值法全流程解析 微分方程是描述自然规律的核心工具&#xff0c;从弹簧振动到电路分析无处不在。传统解法依赖繁琐的手工计算&#xff0c;而今天我们将用Python的NumPy和SymPy库&#xff0c;把数学理论转化为可执行的代码解决方案…...