1 Star 19 Fork 4

jq_flutter/flutter_file_selector

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

flutter_file_selector

此项目已迁移到 查看fget_fils,前往pub.dev获取

插件介绍:

使用中如有问题之类的话 欢迎来提 issues Flutter版本的一个文件选择器 ,顺序按最近访问的时间排序

布局使用Flutter布局,安卓使用原生的MediaStore.Files类实现

支持多选,支持所有文件类型

apk下载体验 , ios暂无打包 自行拉取代码编译

![安卓] ![安卓] ![安卓] ![ios] ![ios]

使用到的插件

插件依赖 pub仓库地址
permission_handler pub
file_picker pub

示例:

# 在pubspec.yaml 中引入依赖 方式1
flutterfileselector:
   git:
      url: https://gitee.com/jrnet/flutter_file_selector

# 在pubspec.yaml 中引入依赖 方式2
flutterfileselector: ^0.0.1
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){
   
    },
),

可选参数

参数名
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 文件日期时间

新计划-待实现:

  • 新增目录列表 ,类似手机自带的文件管理器 - 仅安卓端
  • 常用文件格式的图标自定义- 仅安卓端
  • 常用软件下的图片分类(可直接选 微信、qq、企业微信 保存的所有图片)- 仅安卓端

注意:一定要有权限、必需配置

安卓需配置目录访问权限 配置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 的配置 点此查看

更新日志:

2020-06-07

  • 首个版本

  • 优化了全部目录检索,并支持指定 自定义展示文件类型

2020-06-09

  • 修复了部分设备无法运行
  • 集成了权限检查

2020-06-10

  • 兼容ios
  • 修改了type解析
  • 修复了部分bug

2020-06-18

  • 修改视图页延迟检索,先进入ui页面 避免卡死
  • 添加参数 可选数量 maxCount

2020-06-19

  • 添加、更新了示例 example
  • 文件类型选择 更改为 下拉选择

2021-01-20

  • 添加、修改了 图标
  • 优化了代码,修复了ios问题
  • 优化了 选择类型
  • 选择类型、标题 可自定义
  • 更新了文档

2021-01-27

  • 优化了部分逻辑
  • 更新了默认选择
  • 更改了 选择 按钮

2021-01-28

  • 更新了示例
  • 更新了使用文档
  • 更新了IOS端的获取
MIT License Copyright (c) 2018 jrnet Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

flutter版本的一个文件选择器 展开 收起
README
MIT
取消

发行版 (2)

全部
4年前

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Dart
1
https://gitee.com/jq_flutter/flutter_file_selector.git
git@gitee.com:jq_flutter/flutter_file_selector.git
jq_flutter
flutter_file_selector
flutter_file_selector
master

搜索帮助