https://github.com/6thsolution/large_file_uploader
A plugin for uploading large file in flutter web.
https://github.com/6thsolution/large_file_uploader
flutter flutter-web js upload uploader
Last synced: 12 months ago
JSON representation
A plugin for uploading large file in flutter web.
- Host: GitHub
- URL: https://github.com/6thsolution/large_file_uploader
- Owner: 6thsolution
- License: mit
- Created: 2021-11-15T20:05:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-07-19T13:45:37.000Z (almost 4 years ago)
- Last Synced: 2025-06-01T05:09:43.742Z (about 1 year ago)
- Topics: flutter, flutter-web, js, upload, uploader
- Language: Dart
- Homepage: https://pub.dev/packages/large_file_uploader
- Size: 178 KB
- Stars: 6
- Watchers: 4
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Large File Uploader (Only Web)
A plugin for uploading large file in flutter web.
# Let's get started
### 1 - Depend on it
##### Add it to your package's pubspec.yaml file
```yml
dependencies:
large_file_uploader: ^0.0.7
```
### 2 - Install it
##### Install packages from the command line
```sh
flutter pub get
```
### 3 - Import it
##### Import it to your project
```dart
import 'package:large_file_uploader/large_file_uploader.dart';
```
### 4 - Copy It
##### Copy upload_worker.js to project public folder
## How to use?
##### Simple usage
```dart
LargeFileUploader().selectFileAndUpload(
uploadUrl:
'https://baseurl.com/upload-path',
data: {
'title': 'My image', //Additional fields to send with file
},
headers: {
'Authorization':
'Bearer '
},
onSendProgress: (progress) =>
debugPrint('onSendProgress:$progress'),
onComplete: () => debugPrint('onComplete'),
onFailure: () => debugPrint('onFailure'),
);
```
##### Advanced usage
```dart
import 'dart:html' as html;
import 'package:large_file_uploader/large_file_uploader.dart';
...
final _largeFileUploader = LargeFileUploader();
html.File? file;
html.File? thumbnail;
_largeFileUploader._largeFileUploader.pick(
type: FileTypes.video,
callback: (file) {
pickedThumbnail = file;
});
);
_largeFileUploader._largeFileUploader.pick(
customType: 'image/jpeg',
callback: (file) {
thumbnail = file;
});
);
if(file != null){
_largeFileUploader.upload(
uploadUrl: url,
headers: {"Authorization": "Bearer "},
data: {"title": "My Image", "thumbnail": thumbnail, "file": file},
onSendProgress: (progress) => debugPrint(progress.toString()),
onComplete: (response) => debugPrint(response.toString()),
);
}
```