see changelog (v1.4.2)
* Better handling on Android of buggy file managers that return no intent when canceling the file selection even though it returns Activity.RESULT_OK (#111) * removes deprecated Android SDK code and fixes an issue that could prevent some downloaded files from being picked * adds getMultiFile and prevents UI blocking when picking large remote files * updates readme file * fixes an issue that could prevent internal storage files from being properly picked * fixes an issue that could result in a crash when picking video files on iOS 13 or above and updates go-flutter version
This commit is contained in:
parent
b4524e3ee9
commit
e9f180ae01
|
@ -1,3 +1,9 @@
|
||||||
|
## 1.4.2
|
||||||
|
|
||||||
|
**Bug fix**
|
||||||
|
* Fixes an issue that could cause a crash when picking video files in iOS 13 or above due to SDK changes.
|
||||||
|
* Updates Go-Flutter with go 1.13.
|
||||||
|
|
||||||
## 1.4.1
|
## 1.4.1
|
||||||
|
|
||||||
**Bug fix:** Fixes an issue that could result in some cached files, picked from Google Photos (remote file), to have the name set as `null`.
|
**Bug fix:** Fixes an issue that could result in some cached files, picked from Google Photos (remote file), to have the name set as `null`.
|
||||||
|
|
18
README.md
18
README.md
|
@ -7,15 +7,15 @@
|
||||||
A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extensions filtering support.
|
A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extensions filtering support.
|
||||||
|
|
||||||
## Currently supported features
|
## Currently supported features
|
||||||
* [X] Load paths from **cloud files** (GDrive, Dropbox, iCloud)
|
* Load paths from **cloud files** (GDrive, Dropbox, iCloud)
|
||||||
* [X] Load path from a **custom format** by providing a file extension (pdf, svg, zip, etc.)
|
* Load path from a **custom format** by providing a file extension (pdf, svg, zip, etc.)
|
||||||
* [X] Load path from **multiple files** optionally, supplying a file extension
|
* Load path from **multiple files** optionally, supplying a file extension
|
||||||
* [X] Load path from **gallery**
|
* Load path from **gallery**
|
||||||
* [X] Load path from **audio**
|
* Load path from **audio**
|
||||||
* [X] Load path from **video**
|
* Load path from **video**
|
||||||
* [X] Load path from **any**
|
* Load path from **any**
|
||||||
* [X] Create a `File` or `List<File>` objects from **any** selected file(s)
|
* Create a `File` or `List<File>` objects from **any** selected file(s)
|
||||||
* [X] Supports desktop through **go-flutter** (MacOS, Windows, Linux)
|
* Supports desktop through **go-flutter** (MacOS, Windows, Linux)
|
||||||
|
|
||||||
If you have any feature that you want to see in this package, please add it [here](https://github.com/miguelpruivo/plugins_flutter_file_picker/issues/99). 🎉
|
If you have any feature that you want to see in this package, please add it [here](https://github.com/miguelpruivo/plugins_flutter_file_picker/issues/99). 🎉
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This is a generated file; do not edit or check into version control.
|
||||||
|
export "FLUTTER_ROOT=/Users/miguelruivo/DevTools/flutter"
|
||||||
|
export "FLUTTER_APPLICATION_PATH=/Users/miguelruivo/Projects/Pessoais/plugins_flutter_file_picker/example"
|
||||||
|
export "FLUTTER_TARGET=/Users/miguelruivo/Projects/Pessoais/plugins_flutter_file_picker/example/lib/main.dart"
|
||||||
|
export "FLUTTER_BUILD_DIR=build"
|
||||||
|
export "SYMROOT=${SOURCE_ROOT}/../build/ios"
|
||||||
|
export "FLUTTER_FRAMEWORK_DIR=/Users/miguelruivo/DevTools/flutter/bin/cache/artifacts/engine/ios"
|
||||||
|
export "FLUTTER_BUILD_NAME=1.0.0"
|
||||||
|
export "FLUTTER_BUILD_NUMBER=1"
|
||||||
|
export "TRACK_WIDGET_CREATION=true"
|
|
@ -15,7 +15,7 @@ EXTERNAL SOURCES:
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
file_picker: 408623be2125b79a4539cf703be3d4b3abe5e245
|
file_picker: 408623be2125b79a4539cf703be3d4b3abe5e245
|
||||||
Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a
|
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
|
||||||
|
|
||||||
PODFILE CHECKSUM: 1e5af4103afd21ca5ead147d7b81d06f494f51a2
|
PODFILE CHECKSUM: 1e5af4103afd21ca5ead147d7b81d06f494f51a2
|
||||||
|
|
||||||
|
|
|
@ -190,6 +190,7 @@
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
English,
|
||||||
en,
|
en,
|
||||||
Base,
|
Base,
|
||||||
);
|
);
|
||||||
|
@ -441,7 +442,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(PROJECT_DIR)/Flutter",
|
"$(PROJECT_DIR)/Flutter",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mr.flutter.plugin.filepickerdemo;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mr.flutter.plugin.filepickerexample;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
};
|
};
|
||||||
|
@ -465,7 +466,7 @@
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"$(PROJECT_DIR)/Flutter",
|
"$(PROJECT_DIR)/Flutter",
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.mr.flutter.plugin.filepickerdemo;
|
PRODUCT_BUNDLE_IDENTIFIER = com.mr.flutter.plugin.filepickerexample;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
};
|
};
|
||||||
|
|
|
@ -27,8 +27,6 @@
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||||
<Testables>
|
|
||||||
</Testables>
|
|
||||||
<MacroExpansion>
|
<MacroExpansion>
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
|
@ -38,8 +36,8 @@
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
ReferencedContainer = "container:Runner.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<Testables>
|
||||||
</AdditionalOptions>
|
</Testables>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Debug"
|
||||||
|
@ -61,8 +59,6 @@
|
||||||
ReferencedContainer = "container:Runner.xcodeproj">
|
ReferencedContainer = "container:Runner.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
<AdditionalOptions>
|
|
||||||
</AdditionalOptions>
|
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
module github.com/miguelpruivo/plugins_flutter_file_picker/go
|
module github.com/miguelpruivo/plugins_flutter_file_picker/go
|
||||||
|
|
||||||
go 1.12
|
go 1.13
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gen2brain/dlgs v0.0.0-20180629122906-342edb4c68c1
|
github.com/gen2brain/dlgs v0.0.0-20180629122906-342edb4c68c1
|
||||||
|
|
|
@ -162,7 +162,22 @@ didPickDocumentsAtURLs:(NSArray<NSURL *> *)urls{
|
||||||
NSURL *pickedVideoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
|
NSURL *pickedVideoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
|
||||||
NSURL *pickedImageUrl;
|
NSURL *pickedImageUrl;
|
||||||
|
|
||||||
if (@available(iOS 11.0, *)) {
|
if(@available(iOS 13.0, *)){
|
||||||
|
|
||||||
|
if(pickedVideoUrl != nil) {
|
||||||
|
NSString * fileName = [pickedVideoUrl lastPathComponent];
|
||||||
|
NSURL * destination = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:fileName]];
|
||||||
|
|
||||||
|
if([[NSFileManager defaultManager] isReadableFileAtPath: [pickedVideoUrl path]]) {
|
||||||
|
Log(@"Caching video file for iOS 13 or above...");
|
||||||
|
[[NSFileManager defaultManager] copyItemAtURL:pickedVideoUrl toURL:destination error:nil];
|
||||||
|
pickedVideoUrl = destination;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pickedImageUrl = [info objectForKey:UIImagePickerControllerImageURL];
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (@available(iOS 11.0, *)) {
|
||||||
pickedImageUrl = [info objectForKey:UIImagePickerControllerImageURL];
|
pickedImageUrl = [info objectForKey:UIImagePickerControllerImageURL];
|
||||||
} else {
|
} else {
|
||||||
UIImage *pickedImage = [info objectForKey:UIImagePickerControllerEditedImage];
|
UIImage *pickedImage = [info objectForKey:UIImagePickerControllerEditedImage];
|
||||||
|
|
|
@ -2,7 +2,7 @@ name: file_picker
|
||||||
description: A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.
|
description: A package that allows you to use a native file explorer to pick single or multiple absolute file paths, with extension filtering support.
|
||||||
author: Miguel Ruivo <miguel@miguelruivo.com>
|
author: Miguel Ruivo <miguel@miguelruivo.com>
|
||||||
homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker
|
homepage: https://github.com/miguelpruivo/plugins_flutter_file_picker
|
||||||
version: 1.4.1
|
version: 1.4.2
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
flutter:
|
flutter:
|
||||||
|
|
Loading…
Reference in New Issue