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

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在官方文档中无法找到又确实能用,所以可能有些人不知道,希望能帮助到有需要的人。如果你喜欢我的文章欢迎给我点赞,谢谢!


http://www.kler.cn/a/581667.html

相关文章:

  • AI与.NET技术实操系列:ML.NET篇
  • conda 配置新环境时package will be install 和 package will be download 的区别
  • 商业智能BI的未来,如何看待AI+BI这种模式?
  • 深入探索 Unsafe Rust:超越编译器安全保障的超能力
  • golang 高性能的 MySQL 数据导出
  • [算法] 结点K个一组的链表反转(hard)
  • Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护
  • Trae AI 辅助修复uniapp 微信小程序的Bug
  • Flink之SQL join
  • datax-coud部署
  • docker2
  • Git基本概念及使用
  • 前端开发中的设计模式:观察者模式的应用与实践
  • 《基于深度学习的本科论文撰写智能校验助手》开题报告
  • 主流编程语言的对比分析
  • 【10】单片机编程核心技巧:指令周期与晶振频率
  • 【OpenCV图像处理基础与OCR应用】
  • C# 检查系统是否开启 Hyper - V
  • Java中,BIO、NIO和AIO三种模型的区别和适用场景
  • OLED屏幕开发全解析:从硬件设计到物联网显示实战 | 零基础入门STM32第五十二步