微信小程序云开发-云存储-上传文件(图片/视频)到云存储 精简代码
说明 图片/视频这类文件是从客户端会话选择文件。
一、wxml文件添加if切换显示
<!--上传文件到云存储-->
<button bindtap="chooseImg" type="primary" >上传单张图片</button>
<button bindtap="chooseVideo" type="primary" >上传单个视频</button>
<view class="myFile">
<image wx:if="{{showImage}}" src="{{imageUrl}}"></image>
<video wx:if="{{showVideo}}" src="{{videoUrl}}"></video>
</view>
二、wxss文件
.myFile{
margin: 30rpx auto;
text-align: center;
}
button{
margin: 30rpx;
}
三、js文件
1、定义data
初始值赋值,定义图片和视频初始的显示状态(都隐藏不显示)
data:{
//默认图片和视频都不显示
showImage:false,
showVideo:false
},
2、上传图片和上传视频的代码整合
将uploadImg()和uploadVideo()整合成uploadFile()
uploadFile(tempFile,fileName,type){ //传递三个参数,tempFile是所选文件的临时路径,fileName是上传到云存储的cloudPath的值,type表示上传的文件类型(1表示上传图片,2表示上传视频)
console.log("要上传文件的临时路径",tempFile)
let timestamp = (new Date()).valueOf()
wx.cloud.uploadFile({
cloudPath: fileName, //云存储的路径
filePath: tempFile, // 文件路径
}).then(res => {
console.log("上传成功",res)
wx.showToast({
title: '上传成功',
icon:"success",
duration:2000
})
let that = this
if(type==1){
setTimeout(function(){
that.setData({
imageUrl:res.fileID,
showImage:true, //显示图片
showVideo:false //隐藏视频
})
},2000)
}else if(type ==2){
setTimeout(function(){
that.setData({
videoUrl:res.fileID,
showImage:false,
showVideo:true
})
},2000)
}
})
.catch(err => {
console.log("上传失败",err);
})
}
3、在chooseImg()函数和chooseVideo()函数中分别调用整合后的上传文件函数uploadFile()
1.在chooseImg()函数中调用uploadFile()
chooseImg(){
let that = this
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success (res) {
console.log("选择成功",res);
wx.showLoading({
title: '上传中',
})
// tempFilePath可以作为img标签的src属性显示图片
const tempFilePaths = res.tempFilePaths
//调用uploadImg(tempFile)函数,实现图片上传功能
//that.uploadImg(tempFilePaths[0])
//调用uploadFile()实现上传文件功能
let timestamp = (new Date()).valueOf()
that.uploadFile(tempFilePaths[0],+timestamp+'.png',1) //传递三个参数
}
})
}
2.在chooseVideo()函数中调用uploadFile()
chooseVideo(){
let that = this
wx.chooseVideo({
sourceType: ['album','camera'],
maxDuration: 60,
camera: 'back',
success(res) {
//console.log(res.tempFilePath);
console.log("----------",res.tempFilePath);
wx.showLoading({
title: '上传中',
})
//调用uploadImg(tempFile)函数,实现图片上传功能
//that.uploadVideo(res.tempFilePath)
//调用uploadFile()实现上传文件功能
let timestamp = (new Date()).valueOf()
that.uploadFile(res.tempFilePath,+timestamp+'.mp4',2) //传递三个参数(第一个参数传递所选文件的临时路径,第二个参数传递云存储的路径,第三个参数传递上传文件的类型)
}
})
}
四、最终效果

微信小程序云开发-云存储-上传文件(图片/视频)到云存储 精简代码的更多相关文章
- 微信小程序 springboot nginx 做图片存储 上传 浏览
微信小程序前端-springboot后端-nginx图片存储 前言 本人小白一名,这是第一次学习微信小程序,特此做个记录. 首先准备nginx做图片存储 选择一个地址存放图片 #我的地址 [root@ ...
- 微信小程序踩坑日记3——上传照片至服务器
0. 引言 主要解决将小程序端获取的图片保存在服务器上.亲测可用的服务端脚本. 1. 获取照片 通过wx.chooseImage()方法,获取到图片,使用wx.uploadFile()上传图片. wx ...
- 《微信小程序商城开发实战》笔者的新书,欢迎各位粉丝上京东购买
作者图书京东链接,请点击------>>> **微信小程序商城开发实战** 附京东真实评价截图: 编辑推荐 在当今移动互联网大潮中,微信应用凭借其庞大的用户基数和极强的用户黏性 ...
- Mac上微信小程序官方开发工具卡死的问题
Mac上微信小程序官方开发工具打开后卡死,无法操作,也关不掉,解决方案: 三步: 1.在应用中删除“微信web开发者工具” 2.删除一下几个配置和缓存文件: 1.-/Library/Applicati ...
- 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑
公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...
- 微信小程序快速开发
微信小程序快速开发 一.注册小程序账号,下载IDE 1.官网注册https://mp.weixin.qq.com/,并下载IDE. 2.官方文档一向都是最好的学习资料. 注意:1)注册账号之后会有一个 ...
- 【微信小程序】开发实战 之 「配置项」与「逻辑层」
微信小程序作为微信生态重要的一环,在实际生活.工作.商业中的应用越来越广泛.想学习微信小程序开发的朋友也越来越多,本文将在小程序框架的基础上就微信小程序项目开发所必需的基础知识及语法特点进行了详细总结 ...
- BeautyWe.js 一套专注于微信小程序的开发范式
摘要: 小程序框架... 作者:JerryC 原文:BeautyWe.js 一套专注于微信小程序的开发范式 Fundebug经授权转载,版权归原作者所有. 官网:beautywejs.com Repo ...
- Django微信小程序后台开发教程
本文链接:https://blog.csdn.net/qq_43467898/article/details/83187698Django微信小程序后台开发教程1 申请小程序,创建hello worl ...
- vue+uni-app商城实战 | 第一篇:【有来小店】微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录
一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...
随机推荐
- ADAS处理器集成功能安全单片机MCU
ADAS处理器集成功能安全单片机MCU ADAS processors integrate functional safety MCU 拉斯维加斯-德州仪器公司引进了ADAS和网关处理器TDA4VM和 ...
- dataguard日志损坏处理
===== 问题 ===== 日志损坏无法应用日志(开启MRP应用系统会因无法应用日志而关闭) Completed: ALTER DATABASE RECOVER MANAGED STANDBY DA ...
- OpenCV开发实战1——抖音哈哈镜效果
前言 在抖音中,我们经常看到各种抖音玩家都喜欢使用哈哈镜效果.那么什么是哈哈镜呢? 在现实生活中,哈哈镜是指一种表面凹凸不平的镜子,可以反应出人像及物体的扭曲面貌.简单点来说就是拉伸人脸(物件),或者 ...
- jd一面面经
1.讲一下hashmap原理. 2.concurrentHashMap的原理.concurrentHashMap和hashmap有什么不同? 3.synchnized底层实现?讲讲AQS 4.sync ...
- 基于kerberos的hadoop安全集群搭建
目录 前置条件 kerberos相关 给hadoop各组件创建kerberos账号 将这些账号做成keytab core-site.xml HDFS datanode的安全配置 证书生成和安装 hdf ...
- 【模板】关于vector的lower_bound和upper_bound以及vector基本用法 STL
关于lower_bound和upper_bound 共同点 函数组成: 一个数组元素的地址(或者数组名来表示这个数组的首地址,用来表示这个数组的开头比较的元素的地址,不一定要是首地址,只是用于比较的& ...
- N沟通场效应管深度图解(1)工作原理及Multisim实例仿真
场效应晶体管(Field Effect Transistor, FET)简称场效应管,是一种由多数载流子参与导电的半导体器件,也称为单极型晶体管,它主要分型场效应管(Junction FET, JFE ...
- Java-IO流的继承结构
一 IO流的继承结构如下 二 字节流 1.InputStream(字节流读取数据),为抽象类,不可创建对象:其具体实现需要通过子类FileInputStream(读取文件数据).BufferedI ...
- 数据权限筛选(RLS)的两种实现介绍
在应用程序中,尤其是在统计的时候, 需要使用数据权限来筛选数据行. 简单的说,张三看张三部门的数据, 李四看李四部门的数据:或者员工只能看自己的数据, 经理可以看部门的数据.这个在微软的文档中叫Row ...
- JS 使用try catch捕获异常
JS 使用try catch捕获异常 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 前端是攻克客户的先锋,需要特别注意到 ...