该问题在多个安卓手机和苹果机上均有出现,微信开发者工具可以正常上传图片。。。
uploadImage: function (path, str) { var that = this wx.showLoading({ title: '上传图片中...' , }) wx.uploadFile({ url: OSSUrl, filePath: path, name: 'file' , formData: { 'key' : 'imagepath_' + path.substring(path.length - 10, path.length), 'OSSAccessKeyId' : OSSInit.access_key_id, 'policy' : OSSInit.policy, 'signature' : OSSInit.signature, 'callback' : OSSInit.callback_body, 'x:access_token' : OSSInit.callback_token, 'success_action_status' : '200' , }, success: function (res) { console.log( 'uploadFile' ,res.data) if (res.statusCode == 200) { var data = JSON.parse(res.data) console.log( '上传成功' , res) that.oss_bucket = data.bucket if ( "id_face" == str) { that.setData({ front_card_info: data }) } else if ( "id_back" == str) { that.setData({ back_card_info: data }) } that.checkAndupload() } else { var title = '图片上传失败,请重新上传' if (res.statusCode == 413) { title = '图片体积过大,请选择较小图片上传' } wx.showModal({ title: '上传失败' , content: title, showCancel: false , confirmColor: '#4E8FE7' }) } wx.hideLoading() }, fail: function (err) { console.log( 'fail' , err) wx.showModal({ title: '上传失败' , content: '图片上传失败,请重新上传' , showCancel: false , confirmColor: '#4E8FE7' }) wx.hideLoading() }, complete(res){ console.log( 'complete' , res) wx.hideLoading() } }) }, |
这个问题应该是服务端导致,参考
https://stackoverflow.com/questions/30538640/javax-net-ssl-sslexception-read-error-ssl-0x9524b800-i-o-error-during-system
在苹果手机上,第一次上传会提示uploadFile:fail 未能连接到服务器
wx.uploadFile({
url: `${configs.card.apiBaseUrl}api/user/upload`,
filePath: src,
name: 'url',
formData: {
'imgIndex': 'src'
},
header: {
token: Auth.proxy.token.access_token,
"Content-Type": "multipart/form-data"
},
success: function (res) {
//服务器返回格式: { "Catalog": "testFolder", "FileName": "1.jpg", "Url": "https://test.com/1.jpg" }
if(res.statusCode == 404){
wx.hideToast();
wx.showModal({
title: '错误提示',
content: '登录失效,重新上传',
showCancel: false,
success: function (res) {
if(Auth.proxy.token.access_token){
Auth.refresh(Auth.proxy.token.access_token);
}
}
})
}else if(res.statusCode == 200){
_this.imgs.push(JSON.parse(res.data).data)
console.log(_this.img)
wx.hideToast();
_this.cropper = false
}else if(res.statusCode == 500){
wx.hideToast();
wx.showModal({
title: '错误提示',
content: '系统错误',
showCancel: false,
})
}
},
fail: function (res) {
console.log(res)
wx.hideToast();
wx.showModal({
title: '错误提示',
content: '上传图片失败',
showCancel: false,
success: function (res) { }
})
}
});
})
你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
wechatide://minicode/81NOe4mN7T2k
这是我的代码片段。苹果手机
在真机以及开发者工具上报错都是404,建议跟后台的同学检查下
不好意思,那个token是临时的。你们测试看看换自己 的接口是否也是第一次报200呢
wechatide://minicode/XiGsdaml7O2e 这个是我生成了一个有效的token 你给看一下
新的token cn6M4Iw8RvvnZKDwF6Xy3XHQS7T