微信小程序实现图片上传和视频上传功能

服务器:阿里云
后端:PHP,提供上传接口

用到相关API:
wx.showActionSheet:显示操作菜单

wx.chooseImage:从本地相册选择图片或使用相机拍照,该api后期官方不维护,可使用 wx.chooseMedia api

wx.chooseVideo:拍摄视频或从手机相册中选视频

wx.chooseMedia:拍摄或从手机相册中选择图片或视频,官方提示:此接口不再更新,建议使用 wx.chooseMedia

选择需要上传的文件:

//可以选择视频或者图片uploadFiles(){var _this = this;wx.showActionSheet({itemList: ['选择图片', '选择视频'],success: function (res) {let xindex = res.tapIndex;if (xindex == 0){// 选择图片_this.chooseImage()} else if (xindex == 1){// 选择视频_this.chooseVideo()}},fail: function (res) {console.log(res.errMsg)}})},

选择图片或拍照

//  选择图片类型chooseImage(){wx.chooseImage({count: 1,//上传数量sizeType: ['original', 'compressed'],//图片:原图和压缩sourceType: ['album', 'camera'], // 选择图片的来源success: (res) => {let arr = res.tempFiles;var imgInfo = {};arr.map(function(v,i){v['progress'] = 0;imgInfo=v})_this.upImgs(imgInfo,'image')}})},

选择视频或拍摄

chooseVideo(){let _this=thiswx.chooseVideo({count: 1,//上传数量maxDuration:"30",//拍摄时长sizeType: ['original', 'compressed'],//图片:原图和压缩sourceType: ['album', 'camera'], // 选择图片的来源// sourceType:"album",compressed:true,camera: 'back',success: (res) => {let videoInfo = {};videoInfo['tempFilePath'] = res.tempFilePath;//路径videoInfo['size'] = res.size;// 大小videoInfo['height'] = res.height;videoInfo['width'] = res.width;videoInfo['thumbTempFilePath'] = res.thumbTempFilePath;//封面videoInfo['progress'] = 0;_this.upImgs(videoInfo,'video')}})},

上传服务器

 upImgs(dataInfo, type) {let that=thiswx.showLoading({title: '上传中',mask:true,})wx.uploadFile({url: '上传的网络地址',filePath: type=='video'?dataInfo.tempFilePath:dataInfo.path,formData:null,name: 'file',header: {'content-type': 'multipart/form-data'},success:(res=>{wx.hideLoading()//判断上传的是图片还是视频if(type=="video"){that.setData({console.log('视频地址:'+data.data.src)console.log('视频封面:'+data.data.src+'?spm=qipa250&x-oss-process=video/snapshot,t_1000,f_jpg,w_800,h_400,m_fast')}else{console.log('图片地址:'+ data.data.src)}})})},

微信小程序实现图片上传功能相关推荐

  1. php微信小程序多图上传,tp5实现微信小程序多图片上传到服务器功能

    最近在做一个教育类的小商城的微信小程序,用到了上传多个图片文件到服务器端,这里做一个讲解,希望对大家有所帮助. 1,小程序端: 在wxml文件中: 删除 点击上传作业 在js文件中: Page({ / ...

  2. uniapp 微信小程序开发 图片上传压缩

    uniapp 微信小程序开发 图片上传压缩 安卓上传图片并压缩 思路 全部代码 安卓上传图片并压缩 由于后端接口对图片的大小有限制,所以在上传图片是需要压缩处理: uni.chooseImage({c ...

  3. 微信小程序 多图片上传 支持预览 删除 设置数量上限

    github地址: https://github.com/Volcano-Yang/miniprogram-picture-upload Miniprogram-Picture-Upload 努力帮助 ...

  4. 【微信小程序】图片上传组件“mp-uploader“(weui)

    使用示例   wxml <mp-uploader files="{{files}}" max-count="{{maximgs}}" max-size=& ...

  5. 微信小程序 删除服务器图片,微信小程序实现图片上传放大预览删除代码

    本文实例为大家分享了微信小程序图片上传放大预览的具体代码,供大家参考,具体内容如下 image.js代码: = 9) { this.setData({ lenMore: 1 }); setTimeou ...

  6. 微信小程序多图片上传全栈实战

    本篇教程技术栈:springBoot(Java后端)+  微信小程序.完整的图片上传教程. 页面截图,点击图片右上角按钮可以删除图片. 1.图片上传需要使用wx.uploadFile(Object o ...

  7. 微信小程序之图片上传、多图上传、头像上传、头像获取、图片上传失败问题解决

    小程序用户授权获取用户头像,需点击才可以让用户选择是否授权. 图片上传失败问题解决 图片上传 一定要记得修改合法域名,不然会失败,而且找不到报错信息哟!并且域名采用 https 点击,用户授权,获取用 ...

  8. 微信小程序实现图片上传(清晰版)

    在wxml文件中添加一个按钮和一个image标签用于显示上传的图片 <view><button bindtap="chooseImage">选择图片< ...

  9. 微信小程序自定义图片上传组件

    实现功能: 点击上传按钮可上传图片,并且可定义最多可上传的图片数量.限制图片的大小.类型和来源. 点击图片可预览图片. 点击删除按钮可删除图片. <!-- image-upload.wxml - ...

  10. 微信小程序之图片上传之巨坑

    写这个随笔的目的是想让遇到这个坑的人少点时间去填坑 先附上小程序前端和java端代码 startUpload: function(){ wx.chooseImage({ success: functi ...

最新文章

  1. 每个程序员都应该知道的10件事!
  2. ssl_error_rx_record_too_long
  3. python朋友圈表白_情人节「告白生成器」来了!这个AI能让偶像对你说情话,过于真实!...
  4. error-2016-2-15
  5. div+css+js 树形菜单
  6. C语言程序设计与有限元,C语言与有限元程序设计.pdf
  7. PPT常见的几种排版技巧,你都掌握了吗?
  8. 台式计算机用什么网卡,台式机没有网卡怎么办
  9. 图解 Cisco IOS 命名规范
  10. 关于pc浏览器浏览外网出现ERR_EMPTY_RESPONSE的问题
  11. python并行编程 - 异步篇
  12. PDCP分组数据汇聚协议
  13. 我的奋斗之黑马第一天
  14. 计算机科学与技术班徽图片,智慧教室平台教学系统在中职计算机专业教学中的应用...
  15. 《Python基础教程》第2章读书笔记(1)
  16. Java 领域从传统行业向互联网转型你必须知道的事儿
  17. sm总线控制器找不到驱动程序_【KHGEARS钧兴谐波 | 新品】埃斯顿发布总线伺服驱动系统 ProNet Summa...
  18. web课程设计网页规划与设计:HTML+CSS题材——我的家乡-沧州 6页 带报告
  19. jasperReports 报表生成
  20. 挂在网盘到本地磁盘(以中移动云盘为例)

热门文章

  1. 基于采样的路径规划方法
  2. 疯狂java讲义第6版_疯狂java讲义第6版
  3. Excel 精选28个技巧
  4. Instagram for Business Instagram商业技巧 Lynda课程中文字幕
  5. html js制作地图,前端使用D3.js制作地图
  6. MyEclipse 8.5可用的序列号
  7. Oracle轻量级客户端下载,Oracle轻量级客户端使用,Oracle轻量级客户端配置,本地同时安装服务器端和客户端,并实现plsql developer连接
  8. 树莓派做无线打印服务器,用树莓派和 CUPS 打印服务器将你的打印机变成网络打印机...
  9. HDU1527——取石子游戏(威佐夫博弈)
  10. python 饼图代码_Python中使用Matplotlib画出饼图的代码实例