capacitor的filesystem里只有文件和文件夹处理的功能,笔者在capacitor社区翻了很久都没有找到一个能打开app系统文件管理器的方法。capacitor没有原生的打开文件管理器的插件,
解决方案:
方案一:借用cordover中的filechooser插件(只支持安卓系统)
原API地址:https://ionicframework.com/docs/v3/native/file-chooser/
安装:
npm i cordova-plugin-filechooser
npm install --save @ionic-native/file-chooser
vue中引用:
import { FileChooser,FileChooserOptions } from '@ionic-native/file-chooser';
components中声明组件:
components: {
FileChooserOptions ,
FileChooser
},
方法中调用,此处open方法中可以传入文件过滤器FileChooserOptions 的实例对象:
FileChooser.open()
.then(uri=>{
console.log(uri);
//返回文件的uri
alert(uri);
})
.catch(e => {
console.log(e)
alert(e);
});
效果:
方案二:
简单粗暴的直接用原生标签,支持安卓系统,不知道是否支持ios,有兴趣的可以自己试一下
<input type="file" id="myFile" οnchange="handleFiles(this.files)">
<div id="filecontent"></div>
脚本
handleFiles(files)
{
if(files.length)
{
var file = files[0];
var reader = new FileReader();
reader.readAsText(file);
}
}