uniapp APP 上传文件

/*** 上传文件*/uploadPhoneFile:function(callback,params = {}) {let fileType = ['.pdf','.doc','.xlsx','.docx','.xls']// #ifdef APP-PLUSplus.io.chooseFile({title: '选择文件',  filetypes: ['doc', 'docx'], // 允许的文件类型  multiple: false, // 是否允许多选  },(e)=>{const tempFilePaths = e.files//第二步:把选择的文件上传到服务器Promise.all(tempFilePaths.map((tempFile) => {return new Promise((resolve,reject) => {uni.uploadFile({url: process.uniEnv.baseUrl + '/file/attch/upload',filePath: tempFile,name: 'file',header: {Authorization: 'Bearer ' + utils.CacheStorage("access_token"),//  uni.getStorageSync('access_token'),terminal:'app'},success: (uploadFileRes) => {// console.log('asdaggg',JSON.parse(uploadFileRes.data));let { code,data,msg } = JSON.parse(uploadFileRes.data)if(code === 200) {resolve(data)} else {uni.showToast({title: msg,icon: 'none'})reject('上传失败')}},fail: (error) => {reject(error)}});})})).then(images => {// console.log('上传成功>>>>>>',images)callback(images)})});// #endif// #ifndef APP-PLUSuni.chooseFile({//第一步:选择文件count: 1, //默认100extension: fileType,success: function (res) {const tempFilePaths = res.tempFilePaths;//若果只选择一个文件,这个文件就是数组的第一个元素//第二步:把选择的文件上传到服务器Promise.all(res.tempFilePaths.map((tempFile) => {return new Promise((resolve,reject) => {uni.uploadFile({url: '/dev-api/file/attch/upload',filePath: tempFile,name: 'file',header: {Authorization: 'Bearer ' + utils.CacheStorage("access_token"),//  uni.getStorageSync('access_token'),terminal:'app'},success: (uploadFileRes) => {console.log('asdaggg',JSON.parse(uploadFileRes.data));let { code,data,msg } = JSON.parse(uploadFileRes.data)if(code === 200) {resolve(data)} else {uni.showToast({title: msg,icon: 'none'})reject('上传失败')}},fail: (error) => {reject(error)}});})})).then(images => {console.log('asdjgllgl;s',images)callback(images)})}})// #endif}

写法很粗糙,只自己用作记录,可以再优化与扩展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试面试200问,面试看这就够了。。。

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我…

学嵌入式真的很烧钱吗?

如果是走嵌入式单片机方向,这篇内容,很适合预算1000以下的,作为发育参考。 下面是我2011年的入行成本: 买了智能小车,还有51开发板,杂七杂八,可能一共不到1000。 一开始迷之自信了,买…

软件测试方法 -- 等价类边界值

测试用例的定义 测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。 下面我们介绍几种常用的黑盒测试方法 等价类划分法 定…

数据表示—二进制与十进制转换

1. 二进制转十进制 按照数据类型分为三种:无符号的二进制整数,有符号的二进制整数和小数二进制数。 1.1 无符号的二进制整数 计算技巧: 从二进制数的右边第一位起,从右往左,先用二进制位置上的数乘以2的相应位数的幂&…

ABS10-ASEMI开关电源专用ABS10

编辑:ll ABS10-ASEMI开关电源专用ABS10 型号:ABS10 品牌:ASEMI 封装:ABS-4 最大重复峰值反向电压:1000V 最大正向平均整流电流(Vdss):1A 功率(Pd):中小功率 芯片个数:4 引脚…

NetSuite多脚本性能研究

在项目中,随着复杂度的提升,客制脚本以及各类SuiteAPP的应用,导致某个对象上挂载的脚本大量增加,最终导致了性能问题。表现在保存单据时时间过长,严重影响人机界面的用户感受。基于此问题,我们开展了NetSui…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器,由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

ubuntu下修改硬盘名字和开机挂载硬盘

操作系统 文章目录 操作系统查看信息挂载处理修改自动挂载硬盘权限设置 ubuntu下修改硬盘名字和开机挂载硬盘 查看信息 查看电脑上所有硬盘分区的卷标及uuid, sudo blkid /dev/sda1: LABEL“win7” UUID“40305E93305E9030” TYPE“ntfs” /dev/sda5: LABEL“so…

pta 7-29 删除字符串中的子串 C语言

输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。 输入格式: 输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。 输出格式: 在一行中输出删除…

docker yocto vscode

scode的docker插件怎么使用 vscode是一个基于VS Code的开发环境,它提供了一个Docker插件,可以帮助你在VS Code中使用Docker进行开发。下面是使用scode的Docker插件的步骤: 安装scode插件:在VS Code的扩展商店中搜索并安装scode插…

Web 开发模式演进过程

作为初学者,要了解 Web 开发模式的演进过程,并从这些演进过程中看到变化,这样有利于开发者的思路提升。 什么是 Web 开发 Web :网页,可以通过浏览器访问的资源 Web 开发:基于网页载体的软件开发&#xff…

mac下Appuim环境安装

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具:Appium 环境安装(mac版本)_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK(Java JDK) 3 Android SDK 4 Appium&#x…

Verilog——综合和防真

2.1综合 Verilog 是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能,最终在硬件电路上实 现该功能。在Verilog描述出硬件功能后需要使用综合器对Verilog代码进行解释并将代码转化成实际 的电路来表示,最终产生实际的电路&a…

APP性能测试,你需要关注哪些指标?

一、Android客户端性能测试常见指标 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品,所有指标要强于竞品 2、产品经理给出的预期性能指标数据 3、符合业…

Android制作微信添加多个图片,放大图片

1.添加依赖 implementation com.github.bumptech.glide:glide:4.12.0 //裁剪图片等等 implementation androidx.recyclerview:recyclerview:1.1.0 //recycleview依赖 2.使用recycleview <androidx.recyclerview.widget.RecyclerViewandroid:id"id/recyclerView"…

【Python使用】嘿马头条完整开发md笔记第2篇:数据库,作用【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明&#xff0c;Pycharm远程开发&#xff0c;产品与开发&#xff0c;数据库1 产品介绍,2 原型图与UI图,3 技术架构,4 开发。OS…

【 React 】Real DOM 和Virtual DOM的区别?优缺点?

1. 是什么 Real DOM,真实DOM ,意思为文档对象模型&#xff0c;是一个结构化文本的抽象&#xff0c;在页面渲染出的每一个结点都是一个真实DOM结构&#xff0c;如下&#xff1a; <div id"root"><h1>Hello World</h1> </div>Virtual Dom,本质…

SSL证书过期不更新会有什么影响?怎么续签?

SSL证书如果不及时更新&#xff0c;可能会带来以下问题&#xff1a; 1.影响体验和信誉&#xff1a; - 如果你的网站SSL证书过期了&#xff0c;现在大部分浏览器都会提醒用户这个网站的安全证书已经失效。这就很可能让用户觉得你的网站不太安全&#xff0c;不敢继续浏览&#x…

node后端helmet中间件

认识helmet helmet 是一个 Node.js 的中间件&#xff0c;用于增强 Web 应用程序的安全性。它通过设置各种 HTTP 头来增加安全性&#xff0c;以防止一些常见的攻击。 作用 以下是一些 helmet 中间件可以帮助你处理的安全问题&#xff1a; 设置 HTTP 头部&#xff1a; helmet …

mysql判断一个字符串字段的长度是否为0

LENGTH(str) &#xff1a;返回字符串 str 所占用的字节数。 CHAR_LENGTH(str) &#xff1a;返回字符串 str 中字符的数量&#xff08;对于多字节字符集如UTF-8更为精确&#xff0c;因为它会按照字符而非字节计数&#xff09;。 如果字符串中都是单字节字符&#xff0c;或者不在…