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

插件详情v1.1.0

chunked_uploader

一个易于使用的包,使用 Dio 在移动设备、桌面和网页上分块上传文件。

AndroidiOSmacOSWindowsLinux
近 30 天下载
1540
喜欢数
35
Pub 分数
150

安装插件

flutter pub add chunked_uploader

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个轻量级的 Flutter 包,使用 Dio 简化大文件分块上传。它支持移动、桌面和 Web 平台,即使在连接不稳定的情况下也能确保可靠的上传。该包可无缝处理分块、进度跟踪和可恢复上传,非常适合需要强大文件传输功能的应用程序。设计时注重简单性和性能,可轻松集成到现有项目中。

适合场景

  • 上传大型视频文件
  • 可恢复的文件传输
  • 上传过程中的进度跟踪
  • Web 和跨平台文件共享
  • 离线上传功能

主要特点

  • 分块文件上传
  • 进度监控
  • 可恢复上传
  • 跨平台支持
  • 基于Dio的集成

适合对象

  • 大文件处理
  • 网络敏感应用
  • 移动和桌面应用
  • Web 文件上传器
  • 需要上传弹性的应用

使用建议

  • 需要 Dio 依赖
  • 需要服务器端分块处理
  • 不适用于小文件
  • 仅限HTTP上传
  • 无内置身份验证

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Chunked Uploader

A plugin to upload files to server in chunks.

pub package

Usage

To use this plugin, add chunked_uploader as dependency in your pubspec.yaml file.

dependencies:
  flutter:
    sdk: flutter
  chunked_uploader: ^1.0.0
  file_picker: ^5.2.5
  dio: ^4.0.6

Example

final file =
    (await FilePicker.platform.pickFiles(withReadStream: true))!.files.single;
final dio = Dio(BaseOptions(
  baseUrl: 'https://example.com/api',
  headers: {'Authorization': 'Bearer'},
));
final uploader = ChunkedUploader(dio);

// using data stream
final response = await uploader.upload(
  fileName: file.name,
  fileSize: file.size,
  fileDataStream: file.readStream!,
  maxChunkSize: 500000,
  path: '/file',
  onUploadProgress: (progress) => print(progress),
);
// using path
final response = await uploader.uploadUsingFilePath(
  fileName: file.name,
  filePath: file.path!,
  maxChunkSize: 500000,
  path: '/file',
  onUploadProgress: (progress) => print(progress),
);

所属分类

依赖

依赖清单 3 项

源码仓库

使用此插件的项目

暂无相关数据。