TF-296 Fix upload file on browser

This commit is contained in:
dab246
2022-03-03 12:05:14 +07:00
committed by Dat H. Pham
parent 025bc53790
commit a24a4a2bfd
9 changed files with 108 additions and 50 deletions
@@ -2,6 +2,7 @@
import 'package:core/core.dart';
import 'package:dartz/dartz.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/foundation.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/upload/domain/state/local_file_picker_state.dart';
@@ -11,13 +12,14 @@ class LocalFilePickerInteractor {
Stream<Either<Failure, Success>> execute({FileType fileType = FileType.any}) async* {
try {
final filesResult = await FilePicker.platform.pickFiles(type: fileType, allowMultiple: true);
final filesResult = await FilePicker.platform.pickFiles(type: fileType, allowMultiple: true, withReadStream: true);
if (filesResult != null && filesResult.files.isNotEmpty) {
final fileInfoResults = filesResult.files
.map((platformFile) => FileInfo(
platformFile.name,
platformFile.path ?? '',
platformFile.size)).toList();
kIsWeb ? '' : platformFile.path ?? '',
platformFile.size,
readStream: platformFile.readStream)).toList();
yield Right<Failure, Success>(LocalFilePickerSuccess(fileInfoResults));
} else {
yield Left<Failure, Success>(LocalFilePickerCancel());