当前位置: 首页 > news >正文

uniapp在APP平台(Android/iOS)选择非媒体文件

@TOC

背景

在我们APP开发过程中,经常会有这样一个需求场景:从手机中选择文件然后进行上传,这些文件主要分为两类,媒体文件和非媒体文件。而媒体文件选择在APP平台我们可以使用uni.chooseImage和uni.chooseVideo这两个API来实现。但是如果我们想要选择非媒体文件,官方暂时没有提供API给我们,我们只能自己另辟蹊径。记得我之前写过篇文章uniapp多格式文件选择(APP,H5),这里使用的renderjs方式,用一个file类型的input来模拟H5的方式来进行非媒体文件选择。这个也是一种实现方式,但是由于存在逻辑层和视图层的通讯,在文件过大的时候性能不好,所以今天我们介绍另外一种实现方式。

实现

今天实现的方式主要是利用html5plus相关的API来实现(但是目前plus.io.chooseFile这个在IO模块下无法找到),实现非常的简单直接上代码:

plus.io.chooseFile({ 
		    title: '选择文件',
			filetypes: ['docx', 'zip'],
			multiple: false, // 是否允许多选
		}, (e) => {
		    const tempFilePaths = e.files
		    console.log('11111111',tempFilePaths)
		});

然后我们在页面上放一个按钮,加个click事件调用以上代码,这部分比较简单,我就不贴代码了,然后我们看下效果:
在这里插入图片描述
可以看到在安卓平台直接拉起了安卓文件管理器来进行选择,但是filetypes这个文件格式的筛选参数这里貌似没起作用,我们选择一个word看下打印:
在这里插入图片描述
这里看到已经成功打印出了选择文件的路径。
iOS平台也会拉起文件APP展示文件让用户选择,这里就不贴图了,同样也能打印出选择文件的路径,获取到了文件路径就可以愉快的进行上传了。

尾巴

今天的内容相对简单,只使用了一个API,但是这个API在官方文档中无法找到又确实能用,所以可能有些人不知道,希望能帮助到有需要的人。如果你喜欢我的文章欢迎给我点赞,谢谢!

相关文章:

  • 参考thinkphp架构的FastAPI实现思路
  • 【AI大模型】LLM训练deepseek如何识别视频
  • 基于腾讯云高性能HAI-CPU的跨境电商客服助手全链路解析
  • leetcode-数组操作
  • LeetCode - #226 基于 Swift 实现基本计算器
  • 浙江大学:《DeepSeek——回望AI三大主义与加强通识教育》
  • 【每日学点HarmonyOS Next知识】对话框与导航冲突、富文本、字体大小、列表刷新、Scroll包裹文本
  • ROWNUM 与 ROW_NUMBER() OVER ()
  • llamafactory 微调教程
  • Python---函数
  • for...of的用法与介绍
  • 设计模式八股整理
  • 小白学习:提示工程(什么是prompt)
  • 计算机网络基础:简单渗透
  • sql语句分页的关键字是?
  • 【Linux】线程池
  • 解锁 Ryu API:从 Python 接口到 REST 设计全解析
  • Markdown 语法入门指南(VSCode 版)
  • NVSHMEM介绍、InfiniBand GPUDirect、和NVshmem使用案例说明
  • Scala编程_数组、列表、元组、集合与映射
  • 俄方代表团抵达土耳其,俄乌直接谈判有望于当地时间上午重启
  • 1至4月全国铁路发送旅客14.6亿人次,创同期历史新高
  • 经济日报:美国滥施汽车关税损人不利己
  • “75万买299元路由器”事件进展:重庆市纪委等三部门联合介入调查
  • Manus向全球用户开放注册
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?