因为产品需求,市面上找不到和他类似的组件。只能自己写

这个是封装的函数,单图的不知道有没有问题,多图上传没问题,

因为小程序的函数不支持多图上传,只能一张张的调上传接口,所以我用了Promise.all方法来,处理异步里面单独的上传,在所以上传跑完,函数才返回出链接合成的数组

js方面的代码:

// 多图上传
// type: 1图片和视频,2图片
// count:最大数量
export function headerUploads(type = 1, count = 1) {let mediaType = ['image', 'video']if (type == 2) {mediaType = ['image']}return new Promise((resolve, reject) => {let UploadList = []uni.chooseMedia({// 最多可以选择的图片总数count,// 最长视频时间maxDuration: 30,mediaType,success: res => {//启动上传等待中...  uni.showLoading({title: '上传中',});console.log('上传的是:', res);let upRes = resvar srcObj = {type: res.type}Promise.all(upRes.tempFiles.map((item, index) => {return new Promise((resolve1, reject1) => {if (upRes.tempFiles[index].duration > 31) {uni.showToast({title: "上传视频不能超过30秒!",icon: 'none',})return}uni.uploadFile({// 上传地址url: BASE_URL + '/api/common/upload',name: 'file',filePath: upRes.tempFiles[index].tempFilePath,formData: {// 'file': res.tempFilePaths[0]},header: {'content-type': 'application/x-www-form-urlencoded',// "token": uni.getStorageSync('token') || ''},success: (resz) => {console.log('后端返回', (JSON.parse(resz.data).data));uni.hideLoading()// 单图if (type == 2) {resolve(JSON.parse(resz.data).data)} else {srcObj.src = JSON.parse(resz.data).data// resolve(srcObj)// setTimeout(() => {UploadList.push(srcObj)srcObj = {type: res.type}// }, 200)console.log('循环中', index, upRes.tempFiles.length);resolve1()}},fail: (resz) => {console.log('失败返回', resz);uni.hideLoading()reject()}})});})).then(() => {console.log('循环后', UploadList);resolve(UploadList)}).catch((error) => {console.log('循环后', UploadList);resolve(UploadList)})},complete: compRes => {}});})
}

html方面当时写的太烂了,就不弄出来了

uniapp选中多张图片或者视频(多图上传)相关推荐

  1. uni-app 小程序多图上传

    uni-app 小程序多图上传: 官方提示说,App支持多文件上传,微信小程序只支持单文件上传,传多个文件需要反复调用本API.所以跨端的写法就是循环调用本API 步骤: //1.首先通过 uni.c ...

  2. tinymce 多图上传,上传文件,上传视频,单图上传

    tinymce 多图上传,上传文件,上传视频,单图上传 参考材料 引入插件 单图上传,文件上传,图片上传 多图上传 参考材料 http://tinymce.ax-z.cn/more-plugins/a ...

  3. uniapp、uview——图片上传(单图上传、多图上传、多组照片上传、图片回显)

    一.简介 uView组件的上传功能,单图上传.多图上传等. 官方文档地址: https://www.uviewui.com/components/upload.html 二.步骤 (一)单图上传 1. ...

  4. uniapp - 全平台兼容的 “多图上传“ 功能,搭配 uview 组件库中的 upload 上传组件(附带详细的示例源码及注释,可直接复制使用或简单修改)

    效果图 使用 uniapp 开发,多平台全端兼容的多图上传功能,支持限制个数及移除等. 组件库使用的是 uview 框架,上传组件基于 Upload组件,功能完美无bug. 准备阶段 Upload组件 ...

  5. elementui展示多张图片_Element-ui实现合并多图上传(一次请求多张图片)

    前言 工作中碰到需要多图上传,在使用element-ui解决过程中碰到一些问题,在这里分享给大家. 环境: Springboot+Vue+Element-ui 正文 这次上传使用的是Elemet-ui ...

  6. 后盾网lavarel视频项目---图片上传

    后盾网lavarel视频项目---图片上传 一.总结 一句话总结: 前端还是普通的前端操作,前端上传图片的地址就是图片上传的路由,后端代码也很简单 public function uploader(R ...

  7. wangEditor 修改 “视频”菜单,上传视频(替换原来的输入地址),三次修改

    参考文章:https://blog.csdn.net/m0_37885651/article/details/83660206 发现图标失效.做了些修改 效果图: 上传返回数据(单个视频上传): da ...

  8. android短视频拍摄并上传,手机微视怎么玩?微视视频制作并上传的教程

    从下载微视app到顺利发布自己录制的小视频,一步两步,步步有图,亲自体验. 软件名称:腾讯微视 短视频分享软件 for android V8.10.2.588 安卓版软件大小:96.5MB更新时间:2 ...

  9. 微信jssdk多图上传

    在微信里面开发,我们可以使用微信jssdk 的图片上传 思路基本上是 手机选中图片,上传到微信服务器,加入临时素材库(好像三天就过期了) 然后再服务端去微信的服务器 把图片下载到本地. 如果有自己的c ...

最新文章

  1. redux rxjs_可观察的RxJS和Redux入门指南
  2. Java程序后台运行,即使关掉Putty终端
  3. Silverlight Curve Animation / 曲线动画
  4. QT的QDesignerPropertyEditorInterface类的使用
  5. php修改mysql数据库中的表格,如何修改mysql数据库表?
  6. 《SQL与关系数据库理论——如何编写健壮的SQL代码》一第2章
  7. linux gdb 寄存器,x86 调试寄存器
  8. Python中被双下划线包围的魔法方法
  9. “酸碱体质理论”是个骗局
  10. 机器学习周刊第二期:深度学习上了Nature
  11. Boss直聘招聘数据分析-202104月版
  12. “麻将换皮”的《刀塔自走棋》会是下一个“吃鸡”吗?
  13. 【bzoj1406】【AHOI2007】【密码箱】【数论】
  14. 《张宇考研数学基础30讲》思维导图-第2讲 数列极限
  15. 语雀可以导出html吗,工具 - Confluence 迁移到语雀 - 《语雀使用文档》 - 书栈网 · BookStack...
  16. 爱普生CH-TW5700T和爱普生CH-TW5800T好不好?配置怎么样?
  17. 在线vr模型展示-3D可视化展示解决方案
  18. CAD二次开发:用C#在AutoCAD中插入栅格图像
  19. 你可以写出优质的个人简介,自媒体个人简介三要三不要,收藏学习
  20. java在各大领域应用现状及未来

热门文章

  1. 联想微型计算机b320,“蜗居”必备! 联想B320一体电脑评测
  2. lua服务器客户端消息回调,lua服务器客户端消息回调
  3. DP4809国产双通道耳机音频功率放大器芯片兼容替代LM4809
  4. 实例探讨公共资源交易平台新亮点
  5. select2 取值 遍历 设置默认值
  6. html 格式化金额显示
  7. Unity官方教程——VR in Unity: A Beginner‘s Guide (using VRTK)转译
  8. 普通人如何像天才一样快速学习?
  9. 面试必问 | HBase最新面试总结
  10. Android 开发中命名规则