A Flutter plugin for retrieving detailed file metadata, including system-native file icons. You can retrieve the native icon assigned to a file based on its type, ensuring a consistent visual representation across platforms. Perfect for applications that require access to file details and icons.
- Access to native file icons.
- Retrieval of detailed file metadata.
API | Android | iOS | Linux | macOS | Windows | Web |
---|---|---|---|---|---|---|
getFileIconInfo() | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | ❌ |
getFileInfo() | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | ❌ |
This plugin requires a minimum iOS deployment target of 13.0. Ensure that your project is configured correctly by following these steps:
-
Update the
Podfile
In the
ios/Podfile
file, set the deployment target:platform :ios, '13.0'
After making this change, run:
cd ios && pod install
-
Update Xcode Project Settings
- Open your project in Xcode (ios/Runner.xcworkspace).
- Navigate to Runner → General.
- In the Deployment Info section, set iOS Deployment Target to 13.0.
These steps ensure that your project is compatible with the required iOS version.
Quick simple usage example:
IconInfo? iconInfo = await FileInfo.instance.getFileIconInfo('path/to/example/file.txt');
Widget _buildFileIcon() {
if (iconInfo == null) return const SizedBox.shrink();
return Image.memory(
iconInfo!.pixelData,
width: iconInfo!.width.toDouble(),
height: iconInfo!.height.toDouble(),
);
}
FileMetadata? fileMetadata = await FileInfo.instance.getFileInfo('path/to/example/file.txt');
if (fileMetadata != null) {
print(fileMetadata.fileName); // Output: file.txt
print(fileMetadata.fileExtension); // Output: txt
print(fileMetadata.fileType); // Output: TextDocument
print(fileMetadata.creationTime?.toString()); // Output: 2024-08-01 17:16:26.500018
// ...
}
If you would like to contribute to the development of this plugin, please fork the repository and submit a pull request. For detailed contribution guidelines, please refer to the CONTRIBUTING.md file.
This plugin is licensed under the MIT License.