Плагин Flutter Firebase для хранения файлов, который загружает много времени - PullRequest
0 голосов
/ 06 июня 2018

Я работаю над приложением для Android, используя флаттер.В моем приложении есть функция, с помощью которой пользователь может загружать изображения со своего устройства.Для хранения изображений я использую облачное хранилище Firebase, и вот часть кода, которую я использую для загрузки файлов в облачное хранилище Firebase.

String fileName = "${this.userDetails['id']}_${uuid.v1()}";
String fileExtension = p.extension(_imageFile.path);
String newFileName = p.setExtension(fileName, fileExtension);

print("STEP 1: New filename of image - 111: $newFileName");

final StorageReference ref = FirebaseStorage.instance.ref().child("images/users/original/$newFileName");
final StorageUploadTask uploadTask = ref.put(
            _imageFile, const StorageMetadata(contentLanguage: "en")
        );

print("STEP 2: Image file uploaded - 222");

final Uri downloadUrl = (await uploadTask.future).downloadUrl;
print('STEP 3: downloadUrl data received - 333 : $downloadUrl');

final http.Response downloadData = await http.get(downloadUrl);
print('STEP 4: Download data received - 444 : ${downloadData.body}');

Вот 3 связанных плагина флаттера, которые яиспользуя приведенную выше справку для загрузки файлов.

import 'package:uuid/uuid.dart';
import 'package:path/path.dart' as p;
import 'package:firebase_storage/firebase_storage.dart';

Все работает нормально.Кроме того, загрузка файлов занимает много времени.Почти все это занимает более 40-50 секунд, чтобы завершить STEP-3 (print('STEP 3: downloadUrl data received - 333 : $downloadUrl');).Иногда также полторы минуты.Что касается моей скорости интернета, это почти 80 Мбит / с загрузки и скачивания.Мой среднийразмер загружаемого изображения составляет 100 КБ.

Нужна помощь по рис.в чем проблема.

Добавление снимка экрана ( размер файла 2,8 МБ ) из журнала Android Studio -

I/flutter ( 4451): cliked on image upload button
I/flutter ( 4451): Loading animation started
I/flutter ( 4451): 2018-06-06 23:15:30.327722 - STEP 1: New file name got - 111: KyvU5PFfLRPxYFwHaiKHuywilMV2_679b9ee0-4800-11e8-fe1b-7f6c98d5147d.png
I/flutter ( 4451): 2018-06-06 23:15:30.329420 - STEP 2: Image file uploaded - 222
W/DynamiteModule( 4451): Local module descriptor class for com.google.android.gms.firebasestorage not found.
W/zygote64( 4451): Unsupported class loader
W/zygote64( 4451): Skipping duplicate class check due to unsupported classloader
I/DynamiteModule( 4451): Considering local module com.google.android.gms.firebasestorage:0 and remote module com.google.android.gms.firebasestorage:6
I/DynamiteModule( 4451): Selected remote version of com.google.android.gms.firebasestorage, version >= 6
W/zygote64( 4451): Unsupported class loader
W/zygote64( 4451): Skipping duplicate class check due to unsupported classloader
I/FlutterActivityDelegate( 4451): onResume setting current activity to this
D/UploadTask( 4451): Increasing chunk size to 524288
D/UploadTask( 4451): Increasing chunk size to 1048576
D/UploadTask( 4451): Increasing chunk size to 2097152
I/flutter ( 4451): 2018-06-06 23:17:43.445542 - STEP 3: downloadUrl image data - 333 : 
I/flutter ( 4451): 2018-06-06 23:17:46.757227 - STEP 4: Download data - 444 : ÿØÿá1(Exif

ПРИМЕЧАНИЕ : Возможно, это проблема с плагином.Итак, подал проблему на Github

Ссылка : https://github.com/flutter/flutter/issues/18325

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...