更新记录
1.4.0(2022-06-03)
- 修复在 targetSdkVersion>28 中可能使用不了的问题。
- 增加 一个系统自带的文件管理器选择文件。
1.3.0(2021-03-31)
对android 最低兼性api 调用整,最低是android 4.4。
1.2.0(2020-08-06)
- 新增选择后 回调文件大小的参数 bytes 和 size。
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
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 |