小程序有一个可以将云存储中的文件通过微信分享给好友的功能,需要使用wx.shareFileMessage。在测试过程中发现,wx.shareFileMessage参数中所使用的临时地址只能是由wx.downloadFile生成的临时地址。开始测试的几次没问题。wx.downloadFile返回的是http开头的临时地址,可以正常分享。可同样的代码再进行测试,wx.downloadFile返回的就是wxfile开头的临时地址了。这个地址wx.shareFileMessage不能用,会有报错无法分享。请教各位大佬,是什么原因导致wx.downloadFile输出wxfile的临时地址呢?怎么样能得到http开头的临时地址?谢谢各位大佬!
协议名在 iOS/Android 客户端为 "wxfile",在开发者工具上为 "http",开发时不应在代码中去硬编码完整文件路径,建议使用`${wx.env.USER_DATA_PATH}/hello.txt`
参考《基础能力 -> 文件系统》:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/file-system.html
至于你说的点击触发问题,建议在wx.shareFileMessage外层加上wx.showModal,用户点击确认后再去调用分享api即可解决你当前的问题
感谢各位大佬的帮助。目前的情况是这样,下面是我测试的wxml和js代码
这个代码从第一次测试开始,我没有做过任何改动,前几次无论是IDE环境执行还是真机测试的时候返回的都是这样的结果
这个结果虽然IDE环境会报错,但是这种临时地址我在真机调试模式下是可以分享的。一切正常。不过昨天再次使用真机调试测试,返回的就是下面这样的结果了
这个就分享不了。
所以想请教各位大佬,如果跟临时地址前缀没关系的话。为什么我在真机调试模式下还提示我需要点击按钮才能运行?我的确是在手机上点击的按钮执行的。如果我这种写法不对的话,也请各位大佬指点一下。怎样才可以将云存储的文件分享给好友。本人接触小程序时间不长。因为小程序中有这个需求,真心感谢各位大佬的帮助!谢谢
http是工具,wxfile手机,问题不在于前缀而在于平台,两端有差异,根据错误提示处理就行了