A plugin for uploading large file in flutter web.
dependencies:
large_file_uploader: ^0.0.7
flutter pub get
import 'package:large_file_uploader/large_file_uploader.dart';
LargeFileUploader().selectFileAndUpload(
uploadUrl:
'https://baseurl.com/upload-path',
data: {
'title': 'My image', //Additional fields to send with file
},
headers: {
'Authorization':
'Bearer <accessToken>'
},
onSendProgress: (progress) =>
debugPrint('onSendProgress:$progress'),
onComplete: () => debugPrint('onComplete'),
onFailure: () => debugPrint('onFailure'),
);
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 <accessToken>"},
data: {"title": "My Image", "thumbnail": thumbnail, "file": file},
onSendProgress: (progress) => debugPrint(progress.toString()),
onComplete: (response) => debugPrint(response.toString()),
);
}