/**
* 上传文件
* @param {String} filePath 微信选择文件的临时文件名
*/
function uploadImg(filePath) {
// 后缀,如.png
const suffix = filePath.substr(filePath.lastIndexOf('.')).toLowerCase()
const fileName = `user/${new Date().getTime()}${suffix}`
return new Promise((resolve, reject) => {
uniCloud.uploadFile({
filePath,
cloudPath: fileName,
onUploadProgress: progressEvent => {
const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)
console.log(percentCompleted)
},
success: res => {
console.debug('@upload success', res)
resolve(res.fileID)
},
fail: e => {
console.error('error upload = ', e)
reject(e)
},
complete: () => {
}
})
})
}
Junan_
- 发布:2024-11-04 09:57
- 更新:2024-11-04 11:36
- 阅读:29
产品分类: uniCloud/支付宝小程序云
示例代码:
操作步骤:
1,将自己的设备时间调慢几分钟
2,在客户端调用uniCloud.uploadFile()方法
1,将自己的设备时间调慢几分钟
2,在客户端调用uniCloud.uploadFile()方法
预期结果:
正常上传或返回可以理解的错误信息
正常上传或返回可以理解的错误信息
实际结果:
提示 Error: request has expired
其他没有什么有价值的错误信息
提示 Error: request has expired
其他没有什么有价值的错误信息
bug描述:
客户端时间和服务器时间导致uniCloud.uploadFile上传失败
不确定是和服务器时间不一致还是和北京时间不一致
可以解释下为什么会这样和怎么解决吗?
Junan_ (作者)
好的,就是说国外用户就用不了了,而且客户端还要校验下时间,不然有些用户会提示莫名的错误
2024-11-04 12:07
DCloud_uniCloud_VK
回复 Junan_: 国外用户可以用的,世界各地的时间时区不一样,但是时间戳是一样的
2024-11-04 12:56