Firebase Storage предоставляет StorageTaskEventType.failure для файлов PNG (пытается загрузить скриншоты iOS) - PullRequest
0 голосов
/ 26 апреля 2019

Я использую плагин Flutter и Firebase Storage для загрузки изображений с камеры, а также из галереи.

Отлично работает с любыми изображениями, снятыми камерой. Но если я пытаюсь загрузить скриншот (то есть PNG вместо JPEG), я получаю следующую ошибку StorageTaskEventType.failure.

Возможно ли, что PNG каким-то образом ограничены или есть идеи, что я делаю неправильно?

Используется следующий код:

    ImageProperties properties =
        await FlutterNativeImage.getImageProperties(imageFile.path);

    File compressedFile = await FlutterNativeImage.compressImage(imageFile.path,
        quality: 50,
        targetWidth: 900,
        targetHeight: (properties.height * 900 / properties.width).round()
        );
    String fileName = DateTime.now().millisecondsSinceEpoch.toString() + '.jpg';
    StorageReference reference = FirebaseStorage.instance
        .ref()
        .child('groups')
        .child(widget.groupId)
        .child('messageContent')
        .child(fileName);
    StorageUploadTask uploadTask = reference.putFile(compressedFile);
    StorageTaskSnapshot storageTaskSnapshot = await uploadTask.onComplete;
    await storageTaskSnapshot.ref.getDownloadURL().then((downloadUrl) {
      imageUrl = downloadUrl;
      setState(() {
        isLoading = false;
        _handleSubmitted(imageUrl: imageUrl);
      });
    }, onError: (err) {
      setState(() {
        isLoading = false;
      });
    });
  }
...