- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
admin.js
upd_mall_pic: function() {
var that = this
wx.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album', 'camera'],
success(res) {
console.log(res)
const file_path = res.tempFilePaths[0];
app.upload_file('images/mall', 'mall_pic', file_path);
}
})
},
app.js
upload_file: function (upload_path, file_name, file_path) {
wx.showLoading({
title: '上传中'
})
wx.cloud.uploadFile({
cloudPath: upload_path + '/' + file_name + file_path.match(/\.[^.]+?$/)[0],
filePath: file_path,
success: res => {
wx.showToast({
icon: 'success',
title: '上传成功!',
})
},
fail: err => {
wx.showToast({
icon: 'none',
title: '上传失败!',
})
},
complete: () => {
wx.hideLoading()
}
})
}
这代码很正常,看不出毛病。但是上传到环境的文件存储,永远不是我选择的那一张图片。就算我把文件存储上传的图片删除,再重新上传,结果也是一样,不是我选择上传的图片。是我上上上次选择的图片,就像是没清除缓存一样。
const filePath = res.tempFilePaths[0]
console.log(filePath)
const name = new Date().getTime();
// 上传图片
const cloudPath = name + filePath.match(/\.[^.]+?$/)[0]
name用随机数或者时间戳就ok了
确实如楼主所说,官方可以用你们提供的demo试一下呀,我也遇到同样问题了!
因为你的文件图片是一样的,下一次上传就会覆盖原来的图片
在控制台看下文件上传是不是正确上传了呢?
上传成功了
云开发控制台的文件存储tab,看一下你的文件在这里展示的是不是符合预期的
文件大小是我选择上传文件的大小。但是预览的图片不对
文件名呢,是不是名称串了