微信小程序云开发提供了api来实现云端文件存储和下载;使用wx.cloud.uploadfile和wx.cloud.downloadfile来实现文件的上传和下载
使用简单的几行代码就可以实现文件传输的功能:
`` `java
// 让用户选择一张图片
wx.chooseImage({
success: chooseResult => {
// 将图片上传至云存储空间
wx.cloud.uploadFile({
// 指定上传到的云路径
cloudPath: 'my-photo.png',
// 指定要上传的文件的小程序临时文件路径
filePath: chooseResult.tempFilePaths[0],
// 成功回调
success: res => {
console.log('上传成功', res)
},
})
},
})
```
云函数是运行在云端的代码,在开发者工具内编写上传到云端后台服务器即可运行的后台代码(通俗来说就是我们的SpringBoot后台代码)
下面是一个实例用来命名一个云函数add实现a和b相加:
```java
// index.js 是入口文件,云函数被调用时会执行该文件导出的 main 方法
// event 包含了调用端(小程序端)调用该函数时传过来的参数,同时还包含了可以通过 getWXContext 方法获取
的用户登录态 `openId` 和小程序 `appId` 信息
const cloud = require('wx-server-sdk')
exports.main = async (event, context) => {
let { userInfo, a, b} = event
let { OPENID, APPID } = cloud.getWXContext() // 这里获取到的 openId 和 appId 是可信的
let sum = a + b
return {
OPENID,
APPID,
sum
}
}
```
云函数上传部署后小程序本地调用实例:
```java
wx.cloud.callFunction({
// 需调用的云函数名
name: 'add',
// 传给云函数的参数
data: {
a: 12,
b: 19,
},
// 成功回调
complete: console.log
})
// 当然 promise 方式也是支持的
wx.cloud.callFunction({
name: 'add',
data: {
a: 12,
b: 19
}
}).then(res=>{
console.log(res)
}
)
```