uni.downloadFile() 开发过程中遇见了问题 :


使用微信小程序模拟器可以打开在线文档,但是使用真机测试,点击没有任何反应。
image.png
排查问题过程:

  1. 使用真机 - 调试功能 发现打开调试之后 ,可以正常打开文档。关闭调试不行。

image.png

  1. 在代码里面 添加 modal 组件,弹窗打印文件地址,排查具体执行到哪里报错。发现使用真机,没有执行到 success回调
  2. 思考 后端返回 路径的正确性 :
    • 发现使用的地址是 在线预览地址
  3. 将在线预览地址 ,手动截取出文件的下载地址,发行到真机,还是没有效果
  4. 继续排查问题
    • 发现后端给的地址是 http 协议
    • 当手机开启调试,是不校验协议的,所以可以预览成功
    • 手机关闭调试,测试环境是 https 协议,与 文件地址协议不一致,所以没有预览成功
  5. 最终解决方案: 找后端 修改了 文件下载地址路径,改成https协议。