美文网首页
微信小程序唤起文件管理器,兼容PC端

微信小程序唤起文件管理器,兼容PC端

作者: 大码猴 | 来源:发表于2024-04-18 11:00 被阅读0次

负责的一个微信小程序项目最近新增了一个上传任意文档功能,原以为简单所以就满口说很快做出来,结果因为自己对小程序不够了解导致坑了自己。在此记录出坑的过程。
按照微信官网文档和网上的各种资料,微信上传文件有两种方式

wx.chooseImage
wx.chooseMessageFile

很多文档讲利用chooseImage可以选择file文件,让我很疑惑,微信开发者文档明确说了只支持是相册或者相机选择图片。后来想可能是网络大神的方案确实能越过微信的检测呢。所以大胆抄了他们的代码,结果大家也能想到了,确实是只能选择图片。

后来想到微信的chooseMessageFile是可以选择聊天记录文件的,是不是在PC端支持唤起PC的文件管理器选择文件呢。想不如做,立刻写代码尝试。

先在开发工具上试了,你猜怎么着,嘿,确实能唤起文件管理器并且能选择任意文件。果断和产品说可行,让产品做技术方案和用户沟通吧。

然后制作了个体验版,问题来了,同样的代码在移动端能调整微信聊天选择文件,在开发工具上能选择PC的管理器,体验版点选择文件按钮竟然没反应。后来查资料才知道,chooseMessageFile在PC端确实是不支持选择文件。

然后就巴拉巴拉的被批了一顿……

用户那边讲为什么腾讯文档可以、金山文档也可以……

不说了,找方案吧……

尝试了wxml中使用<input type="file"> 发现微信小程序对于type=file进行了禁用,失败

尝试了微信小程序中注入html,并通过html选择文件,发现微信对于html中的<input type="file">进行了过滤,导致标签失效。失败

突然想到既然微信对于input标签做了禁用处理,如果我写到了网页里面,通过web-view加载呢,如果微信web-view标签对input也做了特殊处理,那就真做不了小程序上传文件了。

写了个html放到了服务器下面,嘿,果然好使,真机调试+模拟器调试都通过了,是不是就表示问题解决了。果断发了个体验版。唉,web-view竟然报不支持使用。

没想到还有个坑,查文档发现微信小程序web-view对个人版小程序不支持使用。

方案可行了,那就让运维去把小程序转成企业版的吧。

巴拉巴拉一堆没用的,直接给方案吧

微信小程序唤起文件管理器,兼容PC端小程序上传文件解决方案:

1、微信小程序企业版认证
2、制作网页版选择并上传文件的html或者dist包,发布到服务器上
3、<web-view> 标签加载url,通过url选择大文件并上传

相关文章

网友评论

      本文标题:微信小程序唤起文件管理器,兼容PC端

      本文链接:https://www.haomeiwen.com/subject/xqoexjtx.html