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

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.lryc.cn/news/320654.html

相关文章:

  • arcgis数据导出到excel
  • 吴恩达深度学习环境本地化构建wsl+docker+tensorflow+cuda
  • R语言:microeco:一个用于微生物群落生态学数据挖掘的R包:第七:trans_network class
  • ubuntu下在vscode中配置matplotlibcpp
  • Vue面试题,背就完事了
  • centos创建并运行一个redis容器 并支持数据持久化
  • nvm安装和使用保姆级教程(详细)
  • 跳绳计数,YOLOV8POSE
  • 阿里云ecs服务器配置反向代理上传图片
  • 免费阅读篇 | 芒果YOLOv8改进110:注意力机制GAM:用于保留信息以增强渠道空间互动
  • GetLastError()返回值及含义
  • k8s admin 用户生成token
  • 【vscode】vscode重命名变量后多了很多空白行
  • 深度学习实战模拟——softmax回归(图像识别并分类)
  • vue实现element-UI中table表格背景颜色设置
  • RabbitMQ学习总结-消息的可靠性
  • 2024蓝桥杯每日一题(BFS)
  • 力扣思路题:最长特殊序列1
  • c# 的ref 和out
  • ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案
  • Mar 14 | Datawhale 01~04 打卡 | Leetcode面试下
  • 【计算机网络】什么是http?
  • 【python开发】并发编程(上)
  • 用c语言实现扫雷游戏
  • LeetCode 2882.删去重复的行
  • 对OceanBase进行 sysbench 压测前,如何用 obdiag巡检
  • 每天学习几道面试题|Kafka架构设计类
  • .rmallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • 安卓性能优化面试题 11-15
  • Python错题集-9PermissionError:[Errno 13] (权限错误)