Android 安卓原生 多文件选择器
详细内容
Android 安卓原生 文件选择器
- 可以自定义文件类型,选择多个文件。
一、使用方法,引入插件
复制代码const plug=uni.requireNativePlugin("Html5app-filePicker");
在Android 10及以上系统,不支持扫描应用外的文件,只支持选择多媒体文件(图片,音频,视频),Android 10及以上选择文件,例如pdf ,txt 等文件时,请选择系统自带的文件管理器选择。
二,打开文件选择器
复制代码plug.filePicker(
{
bgcolor:"#42b983",
title:"文件选择",
max:5,
fileTypes:["doc","pdf","jpg","mp4"]
},ret=>{
console.log(JSON.stringify(ret));
});
- 参数说明
参数名 | 说明 |
---|---|
bgcolor | 界面背景颜色 |
title | 文字提示 |
max | 最大可以选择多少个文件 |
fileTypes | 文件类型,填写文件的后缀名,来打开选择你需要的文件类型 |
文件类型 jpg,txt,ppt,pptx,xls,pdf,exe,ipa,wav,xlsx,zip,apk,gif,doc,docx,mp3,mp4,png
选择文件后,回调数据格式, 文件的路径和名称.
复制代码{
"code": 0,
"fileList": [{
"path": "/storage/emulated/0/AppClone/Pictures/WeiXin/wx_camera_1588319341486.jpg",
"name": "wx_camera_1588319341486.jpg"
"bytes":642974, //文件大小,单位字节
"size":"627.90KB" //文件大小, 转换后的单位
}, {
"path": "/storage/emulated/0/AppClone/Pictures/WeiXin/wx_camera_1588746491838.jpg",
"name": "wx_camera_1588746491838.jpg"
"bytes":718356, //文件大小,单位字节
"size":"701.52KB" //文件大小, 转换后的单位
}]
}
有些文件名 有空格,或 特殊符号等问题,有可能获取不到文件问题,所以路径是编码过才返回。
所以获取之前,还需要解码才能获取到该文件。
- 例如:
复制代码/storage/emulated/0/tencent/MicroMsg/5255781935834b470f0bdefc46d3ec2c/attachment/1_%E4%BF%9D%E5%8D%95%20%282%29.pdf
使用 decodeURI 来解码。
复制代码let url=decodeURI("/storage/emulated/0/tencent/MicroMsg/5255781935834b470f0bdefc46d3ec2c/attachment/1_%E4%BF%9D%E5%8D%95%20%282%29.pdf");
plus.io.resolveLocalFileSystemURL(url, function(entry)
{
// 可通过entry对象操作test.html文件
console.log("==文件存在=="+entry.fullPath);
}, function (e)
{
console.log( "读取文件出错: " + e.message );
} );
打开系统自带的文件选择器
复制代码 // */* 代表可以选择全部类型文件, 多种类型用 | 隔分,例如:audio/*|video/mp4
// multiple 是否可以多选,默认只可以单选
plug.selectFile({type:"*/*",multiple:false},function(e){
console.log(JSON.stringify(e));
});
文件类型
名称 | MIME类型 |
---|---|
mp3 | audio/* |
mp4 | video/* |
jpg | image/* |
application/pdf |
加载更多