我们在做微信小程序开发时,难免会遇到图片上传的功能,如果自己搭建图片服务器的话,成本太大了,并且还要写后台程序来接收上传的图片,好在微信小程序云开发为我们提供了云存储的功能,这样我们就可以轻松的实现小程序图片的上传和存储。
图片的选择和上传
index.wxml文件如下
<view class='item_root' bindtap='chuantupian'>
<text>{{zhaopian}}</text>
<view class='right_arrow' />
</view>
index.js文件如下
//上传图片
chuantupian() {
let that = this;
let timestamp = (new Date()).valueOf();
wx.chooseImage({
success: chooseResult => {
wx.showLoading({
title: '上传中。。。',
})
// 将图片上传至云存储空间
wx.cloud.uploadFile({
// 指定上传到的云路径
cloudPath: timestamp + '.png',
// 指定要上传的文件的小程序临时文件路径
filePath: chooseResult.tempFilePaths[0],
// 成功回调
success: res => {
console.log('上传成功', res)
wx.hideLoading()
wx.showToast({
title: '上传图片成功',
})
if (res.fileID) {
that.setData({
zhaopian: '图片如下',
imgUrl: res.fileID
})
}
},
})
},
})
},
到这里其实我们就可以实现图片的选取和上传功能了。
下面讲讲具体是如何实现的
- 首先我们通过wx.chooseImage来获取相册里的图片
- 在获取照片成功后,我们用当前时间戳命名图片,
- 然后使用 wx.cloud.uploadFile方法来实现图片的上传
- 在上传成功后,会有如下回调。
fileId就是我们在云存储中的路径,可以直接用这个路径来获取图片并显示的。