File picker plugin for Flutter, compatible with both iOS & Android and desktop (go-flutter).

Overview

fluter_file_picker

File Picker Awesome Flutter Build Status Buy me a coffee

File Picker

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Currently supported features

  • Uses OS default native pickers
  • Pick files using custom format filtering — you can provide a list of file extensions (pdf, svg, zip, etc.)
  • Pick files from cloud files (GDrive, Dropbox, iCloud)
  • Single or multiple file picks
  • Different default type filtering (media, image, video, audio or any)
  • Picking directories
  • Flutter Web
  • Desktop (MacOS, Linux and Windows through Flutter Go)
  • Load file data immediately into memory (Uint8List) if needed;

If you have any feature that you want to see in this package, please feel free to issue a suggestion. 🎉

Documentation

See the File Picker Wiki for every detail on about how to install, setup and use it.

File Picker Wiki

  1. Installation
  2. Setup
  3. API
  4. FAQ
  5. Troubleshooting

Usage

Quick simple usage example:

Single file

FilePickerResult result = await FilePicker.platform.pickFiles();

if(result != null) {
   File file = File(result.files.single.path);
} else {
   // User canceled the picker
}

Multiple files

FilePickerResult result = await FilePicker.platform.pickFiles(allowMultiple: true);

if(result != null) {
   List<File> files = result.paths.map((path) => File(path)).toList();
} else {
   // User canceled the picker
}

Multiple files with extension filter

FilePickerResult result = await FilePicker.platform.pickFiles(
          type: FileType.custom,
          allowedExtensions: ['jpg', 'pdf', 'doc'],
        );

Load result and file details

FilePickerResult result = await FilePicker.platform.pickFiles();

if(result != null) {
   PlatformFile file = result.files.first;
   
   print(file.name);
   print(file.bytes);
   print(file.size);
   print(file.extension);
   print(file.path);
} else {
   // User canceled the picker
}

For full usage details refer to the Wiki above.

Example App

Demo DemoMultiFilters

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

Comments
  • App crash on file pick in android

    App crash on file pick in android

    Hi i am not able to pick file app get crashed when i select any file.

    I an using android device.

    Issue printed in console

    E/AndroidRuntime( 1459): java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference E/AndroidRuntime( 1459): at com.mr.flutter.plugin.filepicker.FilePickerDelegate$2.run(FilePickerDelegate.java:92) E/AndroidRuntime( 1459): at java.lang.Thread.run(Thread.java:919)

    new issue needs investigation android 
    opened by maxbhoria 97
  • The plugin file_picker could not be built due to the issue above with Flutter 1.12.13+hotfix.9

    The plugin file_picker could not be built due to the issue above with Flutter 1.12.13+hotfix.9

    My project is migrated to AndroidX and worked earlier with Flutter version 1.12.13+hotfix.7 and FilePicker version 1.4.3+2

    Flutter Doctor output:

    [√] Flutter (Channel stable, v1.12.13+hotfix.9, on Microsoft Windows [Version 10.0.18363.657], locale en-US)
        • Flutter version 1.12.13+hotfix.9 at C:\flutter
        • Framework revision f139b11009 (4 days ago), 2020-03-30 13:57:30 -0700
        • Engine revision af51afceb8
        • Dart version 2.7.2
    
    
    [√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
        • Android SDK at C:\Users\BLiyanage\AppData\Local\Android\sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-29, build-tools 29.0.3
        • ANDROID_HOME = C:\Users\BLiyanage\AppData\Local\Android\sdk
        • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
        • All Android licenses accepted.
    
    [√] Android Studio (version 3.6)
        • Android Studio at C:\Program Files\Android\Android Studio
        • Flutter plugin version 43.0.2
        • Dart plugin version 192.7761
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    
    [√] IntelliJ IDEA Community Edition (version 2019.3)
        • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.3
        • Flutter plugin version 44.0.3
        • Dart plugin version 193.6494.35
    
    [√] VS Code, 32-bit edition
        • VS Code at C:\Program Files (x86)\Microsoft VS Code
        • Flutter extension version 3.4.1
    
    [√] VS Code, 64-bit edition (version 1.42.1)
        • VS Code at C:\Program Files\Microsoft VS Code
        • Flutter extension version 3.4.1
    
    [!] Connected device
        ! No devices available
    
    ! Doctor found issues in 1 category.
    

    Error log:

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings
    17 actionable tasks: 2 executed, 15 up-to-date
    
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:12: error: cannot find
     symbol
    import androidx.lifecycle.DefaultLifecycleObserver;
                             ^
      symbol:   class DefaultLifecycleObserver
      location: package androidx.lifecycle
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:19: error: cannot find
     symbol
    import io.flutter.embedding.engine.plugins.lifecycle.FlutterLifecycleAdapter;
                                                        ^
      symbol:   class FlutterLifecycleAdapter
      location: package io.flutter.embedding.engine.plugins.lifecycle
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:35: error: cannot find
     symbol
                implements Application.ActivityLifecycleCallbacks, DefaultLifecycleObserver {
                                                                   ^
      symbol:   class DefaultLifecycleObserver
      location: class FilePickerPlugin
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:42: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:46: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:50: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:54: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:58: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:63: error: method does
     not override or implement a method from a supertype
            @Override
            ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:253: error: cannot fin
    d symbol
                this.lifecycle = FlutterLifecycleAdapter.getActivityLifecycle(activityBinding);
                                 ^
      symbol:   variable FlutterLifecycleAdapter
      location: class FilePickerPlugin
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:254: error: incompatib
    le types: FilePickerPlugin.LifeCycleObserver cannot be converted to LifecycleObserver
                this.lifecycle.addObserver(this.observer);
                                               ^
    C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerPlugin.java:262: error: incompatib
    le types: FilePickerPlugin.LifeCycleObserver cannot be converted to LifecycleObserver
            this.lifecycle.removeObserver(this.observer);
                                              ^
    Note: C:\Users\BLiyanage\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\file_picker-1.5.1\android\src\main\java\com\mr\flutter\plugin\filepicker\FilePickerDelegate.java uses or overri
    des a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
    12 errors
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':compileReleaseJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 1m 51s
    
    
    The plugin file_picker could not be built due to the issue above.
    
    help wanted needs investigation android 
    opened by Blasanka 89
  • Suggestion Box

    Suggestion Box

    Suggestions Box

    Please, if you have any suggestion add it here and I'll try to keep track of those, as well we can try to discuss which will make sense to implement or not in the package.

    The list order is from the most likely to be added to the less.

    To-do list

    • [ ] Support Flutter desktop (#85) - Currently implemented with go-flutter as an alternative 🎉
    • [x] Allow multiple extensions at once (#68)
    • [ ] Get an URL from remote files (eg. GDrive) (#63)
    • [ ] Picking directory (although this is not an easy task in iOS) (#23)
    • [ ] Support Flutter Web (#84) (WIP)
    • [ ] Support picking videos and photos at once on iOS (#181)
    suggestion discussion 
    opened by miguelpruivo 74
  • Xcode 12 / iOS 14 / image pick (single and multiple) / from image_picker #65995

    Xcode 12 / iOS 14 / image pick (single and multiple) / from image_picker #65995

    Describe the bug cf. https://github.com/flutter/flutter/issues/65995 I created a brand new project from scratch and I still get the following message:

    Picker Unavailable
    There was an error while preparing the picker.
    Please try later again
    

    Issue details

    1. Android Studio 4.0.1
    2. file_picker: ^2.0.1+1
    3. Xcode 12 / iOS 14
    4. tried on iOS Simulator iPhone 8 Plus, iPhone 11 Pro Max and iPad Pro (12.9-inch) - 4th generation
    5. same issue with FilePicker.platform.pickFiles(type: FileType.image) and FilePicker.platform.pickFiles(type: FileType.image, allowMultiple: true)
    6. A simple app from scratch

    Screenshots and/or video

    Screenshot

    Simulator Screen Shot - iPhone 8 Plus - 2020-09-23 at 12 22 42

    Flutter Version details

    flutter doctor -v
    [✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.5 19F101, locale fr-FR)
        • Flutter version 1.20.4 at /Users/fabricefontaine/development/flutter
        • Framework revision fba99f6cf9 (9 days ago), 2020-09-14 15:32:52 -0700
        • Engine revision d1bc06f032
        • Dart version 2.9.2
    
     
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
        • Android SDK at /Users/fabricefontaine/Library/Android/sdk
        • Platform android-30, build-tools 30.0.2
        • Java binary at: /Applications/Android
          Studio.app/Contents/jre/jdk/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6222593)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 12.0)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 12.0, Build version 12A7209
        • CocoaPods version 1.9.3
    
    [✓] Android Studio (version 4.0)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin version 49.0.2
        • Dart plugin version 193.7547
        • Java version OpenJDK Runtime Environment (build
          1.8.0_242-release-1644-b3-6222593)
    
    [✓] Connected device (1 available)
        • iPhone 8 Plus (mobile) • 755F3CBA-6DA9-4C91-B05A-2CD42DF86E65 • ios •
          com.apple.CoreSimulator.SimRuntime.iOS-14-0 (simulator)
    
    • No issues found!
    
    iOS 
    opened by monsieurtanuki 55
  • [Feature] Web Support

    [Feature] Web Support

    Motivation

    Currently web support is one of most requested features for file_picker.

    Have in mind that features are still being added and you need to be on Flutter branches that currently have web support as well (eg. beta, dev, master).

    Update: early implementation of this is already available with file_picker_web

    feature 
    opened by miguelpruivo 52
  • Xcode 13.3 - Error (Xcode): Segmentation fault: 11 Encountered error while archiving for device.

    Xcode 13.3 - Error (Xcode): Segmentation fault: 11 Encountered error while archiving for device.

    Hi, after upgrading to Xcode 13.3 and iOS 15.4,

    • no issues encountered while debugging app on iPhone.
    • no issues building Android appbundle
    • however, encountered the below when building iOS app flutter build ipa --obfuscate --split-debug-info=debug-info
    • have tried pod deintegrate && rm Podfile.lock && pod install> flutter clean > rm -rf ~/Library/Developer/Xcode/DerivedData then rebuild, same issue encountered.
    • I tried disabling file_picker in pubspec.yaml, Xcode was able to build archive successfully.

    Appreciate if some light can be shed on this issue. Thanks!

    SwiftCodeGeneration normal arm64 (in target 'DKImagePickerController' from project 'Pods')
        cd /Users/myname/Projects/apps/my_app_name/ios/Pods
        /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc -embed-bitcode -target arm64-apple-ios12.0 -Xllvm -aarch64-use-tbi -O -disable-llvm-optzns -module-name DKImagePickerController -o /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.o
    
    Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the project and the crash backtrace.
    Stack dump:
    0.	Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c -primary-file /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc -embed-bitcode -target arm64-apple-ios12.0 -Xllvm -aarch64-use-tbi -O -disable-llvm-optzns -module-name DKImagePickerController -o /Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.o
    1.	Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
    2.	Compiling with the current language version
    3.	Running pass 'Function Pass Manager' on module '/Users/myname/Library/Developer/Xcode/DerivedData/Runner-faokyziihkhtwugbkjwfnzeicqgb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/DKImagePickerController.build/Objects-normal/arm64/DKPopoverViewController.bc'.
    4.	Running pass 'ObjC ARC contraction' on function '@UI_USER_INTERFACE_IDIOM'
    Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
    0  swift-frontend           0x000000010503ef88 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
    1  swift-frontend           0x000000010503df9c llvm::sys::RunSignalHandlers() + 112
    2  swift-frontend           0x000000010503f618 SignalHandler(int) + 344
    3  libsystem_platform.dylib 0x000000019e6914c4 _sigtramp + 56
    4  swift-frontend           0x0000000102fbce8c llvm::objcarc::BundledRetainClaimRVs::insertRVCallWithColors(llvm::Instruction*, llvm::CallBase*, llvm::DenseMap<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*>, llvm::DenseMapInfo<llvm::BasicBlock*>, llvm::detail::DenseMapPair<llvm::BasicBlock*, llvm::TinyPtrVector<llvm::BasicBlock*> > > const&) + 64
    5  swift-frontend           0x0000000102fcd878 (anonymous namespace)::ObjCARCContract::run(llvm::Function&, llvm::AAResults*, llvm::DominatorTree*) + 1024
    6  swift-frontend           0x0000000104db2e24 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1292
    7  swift-frontend           0x0000000104db938c llvm::FPPassManager::runOnModule(llvm::Module&) + 60
    8  swift-frontend           0x0000000104db35a8 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1088
    9  swift-frontend           0x0000000100d7eee8 swift::performLLVMOptimizations(swift::IRGenOptions const&, llvm::Module*, llvm::TargetMachine*) + 3376
    10 swift-frontend           0x0000000100d7fe28 swift::performLLVM(swift::IRGenOptions const&, swift::DiagnosticEngine&, llvm::sys::SmartMutex<false>*, llvm::GlobalVariable*, llvm::Module*, llvm::TargetMachine*, llvm::StringRef, swift::UnifiedStatsReporter*) + 2440
    11 swift-frontend           0x0000000100d88364 swift::performLLVM(swift::IRGenOptions const&, swift::ASTContext&, llvm::Module*, llvm::StringRef) + 180
    12 swift-frontend           0x00000001008e0ea0 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6976
    13 swift-frontend           0x00000001008a8130 swift::mainEntry(int, char const**) + 808
    14 dyld                     0x00000001078a1088 start + 516
    error: Segmentation fault: 11 (in target 'DKImagePickerController' from project 'Pods')
    
    [✓] Flutter (Channel stable, 2.10.3, on macOS 12.3 21E230 darwin-arm, locale
        en-SG)
        • Flutter version 2.10.3 at /Users/myname/Projects/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision 7e9793dee1 (13 days ago), 2022-03-02 11:23:12 -0600
        • Engine revision bd539267b4
        • Dart version 2.16.1
        • DevTools version 2.9.2
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
        • Android SDK at /Users/myname/Library/Android/sdk
        • Platform android-31, build-tools 30.0.3
        • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
        • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 13.3)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • CocoaPods version 1.11.2
    
    [✓] Chrome - develop for the web
        • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
    
    [✓] Android Studio (version 2021.1)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/9212-flutter
        • Dart plugin can be installed from:
          🔨 https://plugins.jetbrains.com/plugin/6351-dart
        • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    
    [✓] VS Code (version 1.65.2)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.36.0
    
    [✓] Connected device (2 available)
        • myiPhone (mobile) • 00008110-001938481E04801E • ios            • iOS 15.4 19E241
        • Chrome (web)     • chrome                    • web-javascript • Google Chrome 99.0.4844.51
    
    [✓] HTTP Host Availability
        • All required HTTP hosts are available
    
    on hold iOS 
    opened by iamshaunwu 46
  • Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/31609356-B2FF-4E41-8576-D0D46E7D0DF3/tmp/com.loancloud.fund1-Inbox/form_template.pdf' (OS Error: No such file or directory, errno = 2)

    Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/31609356-B2FF-4E41-8576-D0D46E7D0DF3/tmp/com.loancloud.fund1-Inbox/form_template.pdf' (OS Error: No such file or directory, errno = 2)

    Before creating an issue, make sure that you are on the latest file_picker version and that there aren't already any similar opened inssues. Also, check if it isn't described on the Wiki, specially on Troubleshooting page.

    Also, sometimes a simple flutter clean and flutter build again with latest file_picker version, may end up by fixing cached issues, so I encourage you to first do so.

    Describe the bug A clear and concise description of what the bug is. If the issue happens to be on Android, please make sure that it also happens with a different device/simulator and/or version.

    Platform

    • [] Android
    • [] iOS
    • [] Web
    • [] Desktop (Go)

    Platform OS version What version did it happen?

    How are you picking?

    Please, post the snippet here
    

    Details to reproduce the issue Provide all the details to reproduce the issue.

    Error Log Please, post the full console log of your issue, if applicable.

    Screenshots and/or video If applicable, add screenshots or video to help explain your problem.

    Flutter Version details Please, post the output of your flutter doctor -v, preferably, while running the issued device/simulator.

    Additional context Add any other context about the problem here.

    triage stale 
    opened by Nolan1357 44
  • FileSystemException: Cannot retrieve length of file,(OS Error: No such file or directory, errno = 2)

    FileSystemException: Cannot retrieve length of file,(OS Error: No such file or directory, errno = 2)

    Getting, Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/0C1997E5-5243-494E-85EA-830E3248CC97/tmp/com.vassar.bluis-Inbox/https:%2Ffoodlicensing.fssai.gov.in%2FREG%2FRG_ViewReceipt.aspx?ReqID=68198366.pdf' (OS Error: No such file or directory, errno = 2)

    in Android its working fine but in iOS 13.4 real device getting above exception

    Issue details

    1. Platform - iOS
    2. Platform OS version - 13.4
    3. File type (filter) — pdf
    4. Detailed steps to reproduce Working fine in android, select any pdf file and try to upload to server in iOS real device 13.4

    Error Log

    2020-04-29 15:56:04.991427+0530 Runner[4358:1416983] [VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: FileSystemException: Cannot retrieve length of file, path = '/private/var/mobile/Containers/Data/Application/0C1997E5-5243-494E-85EA-830E3248CC97/tmp/com.vassar.bluis-Inbox/https:%2Ffoodlicensing.fssai.gov.in%2FREG%2FRG_ViewReceipt.aspx?ReqID=68198366.pdf' (OS Error: No such file or directory, errno = 2) #0 _File.length. (dart:io/file_impl.dart:376:9) #1 _rootRunUnary (dart:async/zone.dart:1134:38) #2 _CustomZone.runUnary (dart:async/zone.dart:1031:19) #3 _FutureListener.handleValue (dart:async/future_impl.dart:139:18) #4 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45) #5 Future._propagateToListeners (dart:async/future_impl.dart:709:32) #6 Future._completeWithValue (dart:async/future_impl.dart:524:5) #7 Future._asyncComplete. (dart:async/future_impl.dart:554:7) #8 _rootRun (dart:async/zone.dart:1126:13) #9 _CustomZone.run (dart:async/zone.dart:1023:19) #10 _CustomZone.runGuarded (dart:async/zone.dart:925:7) #11 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:965:23) #12 _microtaskLoop (dart:async/schedule_microtask.dart:43:21) #13 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)

    Flutter Version details [✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Mac OS X 10.15.4 19E287, locale en-IN) • Flutter version 1.12.13+hotfix.9 at /Users/teja/flutter_dev/flutter • Framework revision f139b11009 (4 weeks ago), 2020-03-30 13:57:30 -0700 • Engine revision af51afceb8 • Dart version 2.7.2

    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2) • Android SDK at /Users/teja/Library/Android/sdk • Android NDK location not configured (optional; useful for native profiling support) • Platform android-29, build-tools 29.0.2 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405) • All Android licenses accepted.

    [✓] Xcode - develop for iOS and macOS (Xcode 11.4.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 11.4.1, Build version 11E503a • CocoaPods version 1.9.1

    [✓] Android Studio (version 3.5) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin version 42.1.1 • Dart plugin version 191.8593 • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

    [✓] Connected device (1 available) • Shahnawaz’s iphone • d59a055eb9bbddc9be958142d9c484e3c45bbf2f • ios • iOS 13.4.1

    • No issues found!

    triage 
    opened by shahnawazahmed88 42
  • Flutter app not launching on Android when built in release mode

    Flutter app not launching on Android when built in release mode

    Describe the bug My Flutter app is not launching on Android when building in release mode after adding file_picker dependency in pubspec.yaml. When I run debug build, everything works OK.

    Issue details

    1. Platform: Android
    2. Platform OS version: tested and reproduced on 7-11 (mostly on Android 11 on Pixel 3a).
    3. File type (filter) -
    4. Detailed steps to reproduce:
    1. Make a clear release build of the app with flutter clean and flutter build apk.
    2. Send the file <PROJECT_DIR>/build/app/outputs/flutter-apk/app-release.apk to the device and install it.
    3. Run the app. Everything works as expected, I'm able to interact with my app.
    4. Add file_picker: ^2.1.4,
    5. Run flutter pub get, flutter clean and then flutter build apk.
    6. Send the new file <PROJECT_DIR>/build/app/outputs/flutter-apk/app-release.apk to the device and install it.
    7. Run the app. I can see Android's splash screen, however, after it closes, I'm stuck on a black screen and Flutter app does not load.
    8. Remove the app from the device. Try running debug build. The app works as expected, Flutter app launched once the Android splash was closed.

    Error Log Nothing to paste here :( When I try to attach Flutter debugger from Android studio to the opened app on the step 7), the console just keeps showing the message "Waiting for a connection from Flutter on Pixel 3a...".

    Screenshots and/or video If applicable, add screenshots or video to help explain your problem.

    Flutter Version details flutter doctor -v: [✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-GB) • Flutter version 1.22.5 at /Users/yurii.dvornyk/Documents/flutter • Framework revision 7891006299 (4 days ago), 2020-12-10 11:54:40 -0800 • Engine revision ae90085a84 • Dart version 2.10.4

    [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/yurii.dvornyk/Library/Android/sdk • Platform android-30, build-tools 30.0.2 • ANDROID_HOME = /Users/yurii.dvornyk/Library/Android/sdk • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) • All Android licenses accepted.

    [✓] Xcode - develop for iOS and macOS (Xcode 12.2) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.2, Build version 12B45b • CocoaPods version 1.10.0

    [!] Android Studio (version 4.1) • Android Studio at /Applications/Android Studio.app/Contents ✗ Flutter plugin not installed; this adds Flutter specific functionality. (Plugin is actually installed; this is Flutter's known issue) ✗ Dart plugin not installed; this adds Dart specific functionality. (Plugin is actually installed; this is Flutter's known issue) • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

    [✓] VS Code (version 1.52.0) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.17.0

    [!] Connected device ! No devices available

    Additional context Posting the whole pubspec.yaml content in case it could help.

    name: <PROJECT_NAME>
    description: <PROJECT_DESCRIPTION>
    publish_to: 'none'
    version: 1.0.0+1
    environment:
      sdk: ">=2.7.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
    
      cupertino_icons: ^0.1.3
    
      # Firebase
      firebase_core: ^0.5.0+1
      firebase_crashlytics: ^0.2.1+1
      firebase_analytics: ^6.0.2
    
      # UI libraries
      flip_card: ^0.4.4
      flutter_svg: ^0.19.1
      flutter_markdown: ^0.5.1
      visibility_detector: ^0.1.5
    
      # Localization
      intl: ^0.16.1
      flutter_localizations:
        sdk: flutter
      
      # Networking
      http: ^0.12.2
    
      # Database
      moor: ^3.4.0
      sqlite3_flutter_libs:
    
      # Paths, Urls, Files
      path_provider: ^1.6.24
      path: ^1.7.0
      url_launcher: ^5.7.10
      file_picker: ^2.1.4
      mime: ^0.9.7
    
      # Download/Upload
      flutter_uploader: ^2.0.0-beta.3
    
      # Photo/video
      camera: ^0.5.8+11
      video_player: ^1.0.1
      video_thumbnail: ^0.2.5
      flutter_ffmpeg: ^0.3.0
    
      # Work with devices
      device_info: ^1.0.0
      wakelock: ^0.2.1+1
    
    dev_dependencies:
      flutter_test:
        sdk: flutter
      
      # Database
      moor_generator: ^3.4.0
      build_runner: ^1.10.4
    
    flutter:
      uses-material-design: true
    
      assets:
        - assets/images/
    
      fonts:
        <FONTS_USED_IN_THE_PROJECT>
    
    flutter_intl:
      enabled: true
    
    triage android 
    opened by yurijdvornyk 39
  • Support for MacOS & Windows Desktop

    Support for MacOS & Windows Desktop

    I get a platform exception trying to use this in a flutter app deployed to MacOS, but it works on android and iOS. Are there any plans to extend support to native mac / desktop?

    Thanks!

    suggestion help wanted feature 
    opened by JayPerfetto 39
  • Does not get absolute paths as claimed. Cannot write to a .txt file

    Does not get absolute paths as claimed. Cannot write to a .txt file

    I don't understand what this can and can't do.

    Can it be used to write to files? I'm getting errors? You say it returns absolute file paths, but that does not look to be true. It seems to copy the filename only, not the path, and put it in private external storage, especially, cache.

    So this is not really a file picker. It only copies files temporarily to cache?

    opened by bradyt 39
  • Dismissing file picker modal on iOS with drag down gesture can crash the app

    Dismissing file picker modal on iOS with drag down gesture can crash the app

    Describe the bug There is an issue with dismissing File picker modal on iOS with drag down gesture. When opening file picker multiple times the app can crash.

    Platform

    • [ ] Android
    • [x] iOS
    • [ ] Web
    • [ ] Desktop

    Platform OS version 16.1

    How are you picking?

      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(title: const Text('file_picker issue')),
            body: Center(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  ElevatedButton(
                      onPressed: () {
                        try {
                          FilePicker.platform.pickFiles();
                        } on PlatformException catch (_) {}
                      },
                      child: const Text('pick file')),
                ],
              ),
            ),
          ),
        );
      }
    

    Details to reproduce the issue Using the snippet above I'm quickly opening File picker and closing it using drag down gesture to dismiss modal (issue is not happening if I'm using Cancel button). After few times I start to get Platform Exceptions:

    MethodChannelFilePicker] Platform exception: PlatformException(multiple_request, Cancelled by a second request, null, null)
    

    This is fine and can be treated as expected. But after few more tries the app crashes.

    Error Log Crash log:

        frame #0: 0x0000000103828840 file_picker`-[FilePickerPlugin documentPickerWasCancelled:](self=0x0000000282cf1450, _cmd="documentPickerWasCancelled:", controller=0x000000013a205170) at FilePickerPlugin.m:614:5
       611 	#ifdef PICKER_DOCUMENT
       612 	- (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller {
       613 	    Log(@"FilePicker canceled");
    -> 614 	    _result(nil);
        	    ^
       615 	    _result = nil;
       616 	    [controller dismissViewControllerAnimated:YES completion:NULL];
       617 	}
    Target 0: (Runner) stopped.
    

    Screenshots and/or video Exception caught in Xcode: Screenshot 2023-01-05 at 09 22 54

    Additional context It seems that in delegate method _result can be null. Probably it is an easy fix in FilePickerPlugin.m:

    #ifdef PICKER_AUDIO
    - (void)mediaPickerDidCancel:(MPMediaPickerController *)controller {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [controller dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif // PICKER_AUDIO
    
    #ifdef PICKER_DOCUMENT
    - (void)documentPickerWasCancelled:(UIDocumentPickerViewController *)controller {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [controller dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif // PICKER_DOCUMENT
    
    #ifdef PICKER_MEDIA
    - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        Log(@"FilePicker canceled");
        if(_result != nil) {
            _result(nil);
            _result = nil;
        }
        [picker dismissViewControllerAnimated:YES completion:NULL];
    }
    #endif
    
    new issue 
    opened by tobolski 0
  • Update the file_picker plugin with the latest version of the open_file plugin

    Update the file_picker plugin with the latest version of the open_file plugin

    I used the latest version of the file_picker plugin (v5.2.4). But this plugin used the deprecated version of the open_file plugin (v2.0.1). As result, I can't use the latest version of the open_file plugin in my app.

    Error Log

    Because no versions of file_picker match >5.2.4 <6.0.0 and file_picker 5.2.4 depends on ffi ^2.0.1, file_picker ^5.2.4 requires ffi ^2.0.1.
    Because open_file >=3.1.0 depends on ffi ^1.0.0 and open_file >=3.0.0 <3.1.0 depends on ffi ^0.1.3, open_file >=3.0.0 requires ffi ^0.1.3 or ^1.0.0.
    Thus, file_picker ^5.2.4 is incompatible with open_file >=3.0.0.
    So, because picker_example depends on both file_picker ^5.2.4 and open_file ^3.0.1, version solving failed.
    
    new issue 
    opened by KalaliEhsan 0
  • Bug with FileType.custom and allowedExtensions param

    Bug with FileType.custom and allowedExtensions param

    Describe the bug In my company we are using the file_picker plugin to allow the users load pdf files into a chat. We are using the following code to reach that:

    var pdf = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf']);

    However we saw that with that code, the users can select media files too (photos, videos, etc). In some android versions exist a "hamburger menu" that allows the user selects other folder, like photos folder, where the user can choose wherever media file.

    I was testing with the example code that was provided by file_picker devs, but I saw the same problem:

    Captura de pantalla 2023-01-04 a la(s) 11 52 03 a m Captura de pantalla 2023-01-04 a la(s) 11 52 10 a m Captura de pantalla 2023-01-04 a la(s) 11 52 21 a m Captura de pantalla 2023-01-04 a la(s) 11 52 33 a m Captura de pantalla 2023-01-04 a la(s) 11 52 44 a m Captura de pantalla 2023-01-04 a la(s) 11 52 53 a m

    Platform

    • [X] Android
    • [ ] iOS
    • [ ] Web
    • [ ] Desktop

    Platform OS version I Tested the app with android 9.0 and android 12.0

    Details to reproduce the issue

    1. Use the same following code to select only pdf files

    var pdf = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf']);

    1. Then, you will see a screen that allow select the media files. Search a menu that allows you change the current folder

    Captura de pantalla 2023-01-04 a la(s) 11 52 10 a m

    Captura de pantalla 2023-01-04 a la(s) 11 52 21 a m

    1. Choose for example the photos folder

    Captura de pantalla 2023-01-04 a la(s) 11 52 33 a m

    1. Select wherever media file

    Captura de pantalla 2023-01-04 a la(s) 11 52 44 a m

    Captura de pantalla 2023-01-04 a la(s) 11 52 53 a m

    new issue 
    opened by JulioCe98 0
  • File Picker Result in WebApp returns cancelled even files are picked on slow networks

    File Picker Result in WebApp returns cancelled even files are picked on slow networks

    Describe the bug Sporadically the timeout in the following function is reached in a WebApp when selecting files from slow networks (VPN connection, ...) Thus it looks like the dialog is cancelled even files are selected. Since this happens sporadically I think I am sometimes slightly above the 500ms, Of course the timeout can be extended in src code thus the selection will work with the drawback that the cancel detection takes longer.

    This is the code part causing the issue

    // This listener is called before the input changed event,
      // and the `uploadInput.files` value is still null
      // Wait for results from js to dart
      Future.delayed(Duration(milliseconds: 500)).then((value) {
        if (!changeEventTriggered) {
          changeEventTriggered = true;
          filesCompleter.complete(null);
        }
      });
    }`
    

    Solutions: Seperate cancel from file picking. If files are picked wait until data is completed. Provide the timeout value as parameter of the pickFiles() function

    Platform

    • [ ] Android
    • [ ] iOS
    • [x] Web
    • [ ] Desktop

    Version file_picker 5.2.4

    new issue 
    opened by getr11 0
  • File Picker dialog not showing on web

    File Picker dialog not showing on web

    file_picker: ^5.2.4

    Describe the bug File Picker dialog works when started from IntelliJ (device: Chrome (Web)) but not as a web app

    Platform

    • [ ] Android
    • [ ] iOS
    • [x] Web
    • [ ] Desktop

    Platform OS version Latest Chrome on Windows, Edge on Windows, Chrome on Android

    How are you picking?

    final result = await FilePicker.platform.pickFiles(type: FileType.any, allowMultiple: false);
    

    Details to reproduce the issue Just the above code in a small web app

    Flutter Version details

    [√] Flutter (Channel stable, 3.3.10, on Microsoft Windows [Version 10.0.19044.2251], locale en-US) • Flutter version 3.3.10 on channel stable at C:\Users\mikha\Documents\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 135454af32 (2 weeks ago), 2022-12-15 07:36:55 -0800 • Engine revision 3316dd8728 • Dart version 2.18.6 • DevTools version 2.15.0

    [X] Android toolchain - develop for Android devices • Android SDK at C:\Users\mikha\AppData\Local\Android\sdk X cmdline-tools component is missing Run path/to/sdkmanager --install "cmdline-tools;latest" See https://developer.android.com/studio/command-line for more details.

    [√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

    [√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.1.2) • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community • Visual Studio Community 2022 version 17.1.32319.34 • Windows 10 SDK version 10.0.19041.0

    [√] Android Studio (version 2021.1) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.3 • Flutter plugin version 70.2.5 • Dart plugin version 222.4167.21

    [√] Connected device (3 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19044.2251] • Chrome (web) • chrome • web-javascript • Google Chrome 108.0.5359.125 • Edge (web) • edge • web-javascript • Microsoft Edge 108.0.1462.54

    [√] HTTP Host Availability
    • All required HTTP hosts are available

    new issue 
    opened by mikhail-poda 0
  • Add onFileStart, onFileEnd callback functions.

    Add onFileStart, onFileEnd callback functions.

    I use file picker with multi-select, often from cloud storage. This means that there can be a long wait between when the user selected the files and when they are ready to be processed. It then appears that the app is hanging. I show a spinner, but would love to give feedback to the user, so they can see there is something happening.

    I was thinking of adding callbacks on file start and on file end. Possibly even a callback, say every 200 milliseconds, to indicate progress on larger files. Then I can give good feedback to the user.

    suggestion 
    opened by chrislaurie-bs 0
Releases(5.1.0)
Owner
Miguel Ruivo
Mobile developer, in love with @flutter. Community lead of @FlutterPortugal. Volunteer developer @vostpt. Part-time teacher @isec-aet, full time learner.
Miguel Ruivo
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

On most operating systems, permissions aren't just granted to apps at install time. Rather, developers have to ask the user for permissions while the

Baseflow 1.7k Jan 3, 2023
Flutter Downloader - A plugin for creating and managing download tasks. Supports iOS and Android. Maintainer: @hnvn

Flutter Downloader A plugin for creating and managing download tasks. Supports iOS and Android. This plugin is based on WorkManager in Android and NSU

Flutter Community 789 Jan 3, 2023
A Flutter plugin to easily handle realtime location in iOS and Android. Provides settings for optimizing performance or battery.

Flutter Location Plugin This plugin for Flutter handles getting location on Android and iOS. It also provides callbacks when location is changed. Gett

Guillaume Bernos 953 Dec 22, 2022
Flutter geolocation plugin for Android and iOS.

geolocation Flutter geolocation plugin for Android API 16+ and iOS 9+. Features: Manual and automatic location permission management Current one-shot

Loup 221 Dec 27, 2022
A Flutter plugin for displaying local notifications on Android, iOS and macOS

Flutter Local Notifications plugin This repository consists hosts the following packages flutter_local_notifications: code for the cross-platform faci

Michael Bui 2.1k Dec 30, 2022
Android and iOS Geolocation plugin for Flutter

Flutter Geolocator Plugin A Flutter geolocation plugin which provides easy access to platform specific location services (FusedLocationProviderClient

Baseflow 1k Jan 5, 2023
Flutter Plugin for AR (Augmented Reality) - Supports ARKit on iOS and ARCore on Android devices

ar_flutter_plugin Flutter Plugin for AR (Augmented Reality) - Supports ARKit for iOS and ARCore for Android devices. Many thanks to Oleksandr Leuschen

Lars Carius 222 Jan 4, 2023
Telegram stickers importing Flutter plugin for iOS and Android

TelegramStickersImport — Telegram stickers importing Flutter plugin for iOS and Android TelegramStickersImport helps your users import third-party pro

Iurii Dorofeev 20 Dec 3, 2022
Plugin to retrieve a persistent UDID across app reinstalls on iOS and Android.

flutter_udid Plugin to retrieve a persistent UDID across app reinstalls on iOS and Android. Getting Started import 'package:flutter_udid/flutter_udid.

Leon Kukuk 183 Dec 21, 2022
A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window.

Flutter InAppWebView Plugin A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser windo

Lorenzo Pichilli 2.3k Jan 8, 2023
A Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed apps.

Flutter AppAvailability Plugin A Flutter plugin that allows you to check if an app is installed/enabled, launch an app and get the list of installed a

Lorenzo Pichilli 89 Dec 2, 2022
A lightweight Flutter plugin for making payments and printing on MyPos

my_poster ?? my_poster is in beta - please provide feedback (and/or contribute) if you find issues ??️ A lightweight Flutter plugin for making payment

Antonio Mentone 3 Oct 10, 2022
Flutter library for iOS Widgets Extensions. Integrate a Widget into your App 🍏📱

flutter_widgetkit Flutter Library for the iOS ?? WidgetKit framework and Widget Communication Table of Contents ?? Introduction ??‍?? Installation ??‍

Fasky 227 Dec 31, 2022
Plugin to access VPN service for Flutter | Flutter 的 VPN 插件

Flutter VPN plugin This plugin help developers to access VPN service in their flutter app. 本插件帮助开发者在自己的应用内调用 VPN 服务。 The Android part was implemented

Xdea 277 Dec 28, 2022
Community WebView Plugin - Allows Flutter to communicate with a native WebView.

NOTICE We are working closely with the Flutter Team to integrate all the Community Plugin features in the Official WebView Plugin. We will try our bes

Flutter Community 1.4k Jan 7, 2023
Use dynamic and beautiful card view pagers to help you create great apps.

Use dynamic and beautiful card view pagers to help you create great apps. Preview New Feature v1.3.0 Change Alignment Left Center(Default) Right v1.4.

Jeongtae Kim 84 Dec 6, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Miguel Ruivo 987 Jan 6, 2023
Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications

?? assets_audio_player ?? Play music/audio stored in assets files (simultaneously) directly from Flutter (android / ios / web / macos). You can also u

Florent CHAMPIGNY 651 Dec 24, 2022
Google places picker plugin for flutter. Opens up the google places picker on ios and android returning the chosen place back to the flutter app.

flutter_places_dialog Shows a places picker dialog in ios and android, returning the data in the places picker to the app. Getting Started Generate yo

null 44 Dec 6, 2022
PowerFileView - A powerful file view widget, support a variety of file types, such as Doc Eexcl PPT TXT PDF and so on, Android is implemented by Tencent X5, iOS is implemented by WKWebView.

PowerFileView - A powerful file view widget, support a variety of file types, such as Doc Eexcl PPT TXT PDF and so on, Android is implemented by Tencent X5, iOS is implemented by WKWebView.

Yao 8 Oct 22, 2022