一段代码,使用微信云开发上传文件并显示进度

一开始使用微信云开发的时候,CDN流量和存储流量都是每个月固定收费的,所以对于那些访问资源正好比免费的多一点的时候,就比较尴尬。

还好几经更替,微信云的资源可以开通按量付费,用多少交多少的钱,这个时候再用微信云开发提供的存储、CDN等资源就舒服多了。

不论是头像上传,还是音频上传,上传文件对于小程序开发还是比较重要的一个环节。

function uploadFile(filePath, cloudPath) {
    const uploadTask = wx.cloud.uploadFile({
        cloudPath: cloudPath,  //微信云存储的路径,如 upload/mp3/1.mp3
        filePath: filePath, // 文件路径,上传图片后的tempFilePaths中的path
        success: res => {
            // 上传成功后返回的文件id,对于音频来说,版本库2.2.3以后的版本可以直接播放fileID
            let fileID = res.fileID
        },
        fail: err => {
            console.error(err)
        }
    })
    uploadTask.onProgressUpdate((res) => {
        wx.showLoading({
            mask: true,
            title: '' + res.progress,
        })
        console.log('上传进度', res.progress)
        console.log('已经上传的数据长度', res.totalBytesSent)
        console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
    })

}

 上传成功后返回的是一个云文件ID,也就是上面的fileID,可以使用微信提供的方法,将其转化为真实链接

wx.cloud.getTempFileURL({
  fileList: ['cloud://xxx', 'cloud://yyy'],
  success: res => {
    // 真实的链接
    console.log(res.fileList)
  },
  fail: err => {
    // 处理异常
  }
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值