搜索插件、代码仓与 APP 分类

GitHub 代码仓makjac/flutter_file_info

flutter_file_info

一个用于检索详细文件元数据的 Flutter 插件,包括由文件类型分配的原生图标。

flutter_file_info 项目封面
星标
4
复刻
1
最近推送(UTC)
2025年2月14日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

header

Flutter Windows Tests pub package pub likes License: MIT

flutter_file_info

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.

Features

  • Access to native file icons.
  • Retrieval of detailed file metadata.

Compatibility Chart

API Android iOS Linux macOS Windows Web
getFileIconInfo() :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x:
getFileInfo() :heavy_check_mark: :heavy_check_mark: :x: :heavy_check_mark: :heavy_check_mark: :x:

iOS Deployment Target

This plugin requires a minimum iOS deployment target of 13.0. Ensure that your project is configured correctly by following these steps:

  1. 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
    
  2. Update Xcode Project Settings

    1. Open your project in Xcode (ios/Runner.xcworkspace).
    2. Navigate to Runner → General.
    3. 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.

Getting Started

Usage

Quick simple usage example:

Get icon info
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(),
    );
  }
Get file info
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
    // ...
}

Screenshots

Windows

windows_example

MacOS

macos_example

iOS

ios_example

Android

android_example

Contributing

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.

License

This plugin is licensed under the MIT License.

Maksymilian Jackowski GitHub avatar
GitHub 作者

Maksymilian Jackowski ↗

Poznań
语言DartKotlinC++SwiftCMakeRubyCObjective-C

分类

此仓库发布的插件

使用的依赖

依赖清单 10 项

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗