大佬,后来这个问题有解决吗
关于wx.uploadFile上传在鸿蒙2.0.0/JNY-AL10的手机上出现传图失败的问题?问题:在JNY-AL10型号的华为手机下,微信版本8.0.20版本中调用小程序wx.uploadFile API时,会出现图片上传成功并成功返回上传后链接,但是该链接图片无法查看。业务表现不正常。 业务表现:用户选择图片,上传的图片无法显示,后台访问图片链接无法显示。 实现方式:用户选择图片使用wx.chooseMedia接口,取得图片tempFilePath并调用wx.uploadFile接口,该接口URL配置为后端上传接口(目前已排除后端接口问题),后端返回图片链接后,前端展示。 技术栈:UniAPP 尝试排除问题: 1、更换写法,将uni.chooseImage更换为wx.chooseMedia,将uni.uploadFile更换为wx.uploadFile,结果是一样的。 2、其他绝大部分手机:小米、iPhone、华为是无法复现问题,PC模拟器也无法复现问题。 3、排除接口超时、图片太大、OSS存储等问题。 4、测试将无法在本小程序上传的图片上传到其他小程序中,其他小程序也无法上传。 实例代码: UniAPP实现: async chooseImage() { const that = this uni.chooseImage({ success: (chooseImageRes) => { const tempFilePaths = chooseImageRes.tempFilePaths; uni.uploadFile({ url: 'http://#/api/front/user/img', //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'files', header: { 'Authori-zation': "76dc6****df83e" }, success: (uploadFileRes) => { console.log(uploadFileRes.data); } }); } }); }, 小程序原生方式: const that = this //照片选择器 await wx.chooseMedia({ // count: 20-that.checkeddata.length-that.noCheckdata.length-that.rejectList.length, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], mediaType:['image'], success(res) { const tempFilePaths = res.tempFiles for (let i = 0; i < res.tempFiles.length; i++) { setTimeout(()=>{ wx.uploadFile({ url: 'http://#/api/front/user/img', //仅为示例,非真实的接口地址 filePath: tempFilePaths[i].tempFilePath, name: 'files', header:{ 'Authori-zation':that.$store.getters.token }, success (res){ const data = res.data console.log(res,'上传结果') that.btnVisible=false that.init() }, fail(err) { uni.showToast({ title:err, icon:"none" }) } }) },300) } uni.showToast({ title:'上传成功', icon:"success" }) } }) [图片] 问题手机微信版本 [图片] 问题手机系统版本 [图片]后台访问该图片 [图片] [图片] 无法在该机型上传的图片(部分图片是可以正常上传的,但是传这几张问题必现)
2023-03-15这个问题还没有解决吗
小程序wx.uploadfile()与部分华为鸿蒙OS手机的相册上传功能存在不兼容我测试了款手机,华为畅享10(ART-AL100X),同事的华为荣耀8也有同样现象。我通过小程序调用wx.uploadfile()上传图片到服务器。服务器采用nginx安装ssl证书跳转到IIS的方式,出现的故障现象是图片传不上去,小程序客户端卡住了。同样的小程序,用其他安卓系统调试(我试了小米/锤子手机)均可以在同样的视图中正常上传图片(实时拍照和选择相册均可)。我查询了nginx的日志,也查询了IIS日志,上面都查到了出故障时的访问的页面记录。然后通过小程序真机调试重复步骤,发现访问后台页面时,报的错误是Provisional headers are shown。后面根据网上的贴子,排查了服务器的SSL安全等级,发现是A,根据提示修改了nginx参数后提升到A+。重新测试通过小程序上传,这次发现直接使用摄像头拍照时能正常上传,但改用从相册上传时,再次出现Provisional headers are shown,同样的操作使用PC上的微信客户端执行小程序上传或者通过开发者工具执行上传均可以成功。 通过上述测试,我几乎可以断定问题就是出在华为鸿蒙OS的相册照片上传时有BUG,眼下该怎么办呢? https://developers.weixin.qq.com/community/develop/doc/00008a8f5d85d007013ec1a5756000?fromCreate=0 [图片] 这是我的服务器SSL检测截图
2023-03-15