在上文中,我们已经讲了图片上传的第一步:在本地相册选择一张图片,并且拿到了将要上传图片的本地临时地址。今天我们讲一讲第二步:上传图片到云存储。
小程序提供了一个非常简单好用的方法:wx.cloud.uploadFile 来帮助我们实现这一功能。
var that = this for(var i = 0; i < that.data.tempFiles.length; i++){ console.log(that.data.tempFiles[i].tempFilePath) wx.cloud.uploadFile({ cloudPath: 'upload/111.png', filePath: that.data.tempFiles[i].tempFilePath, // 文件路径 success: res => { // get resource ID console.log(res.fileID) }, fail: err => { // handle error console.log(err) } }) }
因为可能会上传多张图片,所以在wx.cloud.uploadFile 的外面包了一个循环,用来依次上传数组中的图片。
cloudPath 是云存储路径,有一定的命名限制,比如不能以/开头等等,具体可以看后面的参考文档。
filePath 是要上传文件资源的路径,也就是前文中拿到的本地图片的临时路径。
从代码中可以看出,我们把图片上传到了云存储upload目录下,并且命名为111.png,如果上传至同一路径则是覆盖写。所以为了避免覆盖的问题,每个上传图片的命名都需要跟已有图片不重复,比如根据上传时间命名。
代码运行成功后,我们就可以在云存储中看到这张图片了:
还没有评论,来说两句吧...