Flutter文件选择器

flutter_document_picker
文档选择器,image_picker只能选择图片和视频,如果要选择PDF,word文档、excel表格等就没办法了。这个时候可以使用flutter_document_picker插件,直接选取手机中的文件。

1、安装
flutter pub add flutter_document_picker
1.
或者

/// pubspec.yaml文件添加依赖,并在执行flutter pub get命令
dependencies
  flutter_document_picker: ^5.1.0

flutter_document_picker: ^5.2.3

2、使用

本代码是打开手机文件管理器选择需要的文件并把文件存储到手机沙盒中(沙盒的存储路径重新编辑)

static Future<File?> getLocalDocumentFile() async {
  final path = await FlutterDocumentPicker.openDocument();
  if (path != null) {
    var file = File(path);
    // ファイル名称を取得する
    String tgzName = file.toString().split("/").last;
    // サンドボックスのパース+file+ファイル名称
    file = await file.rename('$_temporaryDirectory/$fileName/$tgzName');
    return file;
  }
  return null;
}

调用

FileUtil.getLocalDocumentFile().then((valueUsb) {
  if (valueUsb != null) {
    file = null;
    String fileSuffix = valueUsb.path.split("E1FW_PKG_v").last;
    if (fileSuffix.isNotEmpty) {
      if (fileSuffix.length == 8) {
        // ファイル名が E1FW_PKG_vxxx.tgz 以外ならば、FW 更新ファイルとして認識しないこと。
        if (fileSuffix.contains(".tgz")) {
          file = valueUsb;
        }
      }
    }
    if (file == null) {
      CommonDialog.show(
          title: "確認",
          message:
              "想定外のファイルを選択しましたので、読み込めません。改めてファイルを選択してください。",
          task: null,
          action: (button) {
            if (DialogButtonSelectType.rightOrBottom ==
                button) {
              
              setState(() {});
            }
          },
          main: '戻 る');
    }
  } else {
    setState(() {});
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值