flutter_file_selector
次项目 迁移到新的 fget_file ,在fget_file 中修复了 flutter_file_selector 在 部分手机 使用 flutter_file_selector 卡死 或者 无法加载到数据的问题,android使用多线程实现查询 ,支持 Android 10+
源码,点我跳转
pub.dev ,点我跳转
flutter_file_selector 文件选择,支持多选,支持所有类型 ,演示示例在example目录
插件我传到pub仓库上了,点我跳转
码云上拉取项目,点我跳转
Github上拉去项目,点我跳转
下面是效果图: 第四张是ios端
1.添加依赖
# 在pubspec.yaml 中引入依赖 方法1
flutterfileselector: ^0.0.7
或
# 在pubspec.yaml 中引入依赖 方法2
flutterfileselector:
git:
url: https://gitee.com/jrnet/flutter_file_selector
2.使用
List<String> fileTypeEnd = [".pdf", ".doc", ".docx",".xls",".xlsx"];
// 显示筛选按钮
FlutterSelect(
/// todo: 标题
title: "选择文件",
/// todo: 按钮
btn: Text("选择文档"),
/// todo: 最大可选
maxCount: 3,
/// todo: 往数组里添加需要的格式,默认是[".pdf", ".doc", ".docx",".xls",".xlsx"]
fileTypeEnd: fileTypeEnd,
/// todo: 自定义下拉选项,不传则默认
dropdownMenuItem: [
DropDownModel(lable: "文档",value: [".pdf",".txt",".word",".ppt"]),
DropDownModel(lable: "图片",value: [".jpg",".png",".bmp",".jpeg",".gif"]),
],
valueChanged: (v){
},
),
// 不显示筛选按钮
FlutterSelect(
/// todo: 标题
title: "选择文件",
/// todo: 按钮
btn: Text("选择文档"),
/// todo: 最大可选
maxCount: 3,
/// todo: 不展示筛选
isScreen: false,
/// todo: 往数组里添加需要的格式,默认是[".pdf", ".doc", ".docx",".xls",".xlsx"]
fileTypeEnd: fileTypeEnd,
valueChanged: (v){
},
),
注意:一定要有权限,安卓、ios都要配置
安卓需配置目录访问权限 配置AndroidManifest.xml 文件,application里加入如下代码
// tools:replace="android:resource" 需要导入tools 才能使用
// AndroidManifest.xml 的 manifest 中 引入 xmlns:tools="http://schemas.android.com/tools"
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_select_flutter"
tools:replace="android:resource" />
</provider>
IOS 的配置 点此查看
可选参数
参数名 | 值 |
---|---|
String title | 标题 - 默认:文件选择 |
List fileTypeEnd | 文件类型 - 默认:[".pdf", “.doc”, “.docx”,".xls",".xlsx"] |
bool isScreen | 筛选 - 默认:关闭 |
int maxCount | 可选最大总数 - 默认 9 |
List dropdownMenuItem | 类型 - 默认:全部(fileTypeEnd)、文档、图片、视频、音频 |
返回的参数:
参数名 | 值 |
---|---|
File file | 文件 |
String fileName | 文件名称 |
int fileSize | 文件大小 |
String filePath | 文件路径 |
int fileDate | 文件日期时间 |