这里仅记录本人一些遇到办法,后台需要file对象,而App端运行在jsCore内,并非浏览器环境,并没有File类,基本返回的都是blob路径,uni-file-picker得app端只支持图片和视频,我这边需求是音视频都要支持。
1、uniapp 安卓原生插件
这是在插件市场找到返回的是file的插件 传送门,是一个安卓原生插件(免费的)。还有个传送门但是这个没测过。
直接点击购买,选择好你的项目,下一步就好了,不知道包名就点一下打包,上面有,然后这个需要运行自定义基座,勾选原生插件什么的,具体怎么用看下文档就行。这个不支持iOS
2、创建webview,只是思路
创建一个hybrid,来搞的选取文件,这种可以兼容多端,但是返回的还是一个blob
<input :multiple="multiple" @change="onChange" :accept="accept" ref="file" class="file" type="file" />
不知道可以不可以在里面把blob转一下,然后返回出去 通过 new File,
new window.File([blob], fileName, {type: type})
3、uni.getFileSystemManager()
据说这个会返回文件的ArrayBuffer对象,但现在还是在开发中,坐等吧