微信小程序云开发上传多张图片

微信小程序使用云开发如何上传多张图片

场景

1.微信小程序
2.云开发
3.批量上传图片

分析

由于是多张图片,不能是同步,上传太慢了,最好是异步上传。
方便管理使用Promise的all方法

code

	wx.chooseImage({
        count: parseInt(n) - o, //动态图片数量 
        sizeType: ['compressed'],
        success: function(res) {
            let s = res.tempFilePaths.length
			wx.showLoading({
				title: '上传中...',
			})
            Promise.all(res.tempFilePaths.map((item) => {
                    return wx.cloud.uploadFile({
                        cloudPath: 'uploadImages/' + Date.now() + item.match(/\.[^.]+?$/)[0], // 文件名称 
                        filePath: item, 
                    })
                }))
                .then((resCloud) => {
					wx.hideLoading()
					// t 是page this filse是提交数据,showfiles是回显的路径,
					// 要是自己服务器的话不用,云开发 图片加载的太慢了 用temp临时文件 回显
                    t.setData({
                        files: t.data.files.concat(resCloud.map((item) => {
                            return item.fileID
                        })),
                        showfiles: t.data.showfiles.concat(res.tempFilePaths.map((item) => {
                            return item
                        }))
                    })
                }).catch((err) => {
                    console.log(err)
                })
        },
    })

缺错误处理。

你可能感兴趣的:(小程序,云开发)