0
votes

FirebasSestorage avec flotteur

im Nouveau sur Firebase et je n'étais pas capable de comprendre ce que le genre de paramètre je shud passe au putfile dans le Code suivant, et existe-t-il des tutoriels ou une documentation appropriée pour Firebase avec Flutter?

Code implémenté xxx

'Emballage: Firebase_storage / src / Storage_Reference.dart': Échec de l'affirmation: ligne 62 pos 12: 'File.existssync ()': n'est pas vrai.

Que dois-je faire pour simplement télécharger une image directement à partir d'un dossier sur le stockage Firebase?


0 commentaires

3 Réponses :


2
votes

Selon le code de Firebase_storage Code> Plugin:

  /// Asynchronously uploads a file to the currently specified
  /// [StorageReference], with an optional [metadata].
  StorageUploadTask putFile(File file, [StorageMetadata metadata]) {
    assert(file.existsSync());
    final _StorageFileUploadTask task =
        _StorageFileUploadTask._(file, _firebaseStorage, this, metadata);
    task._start();
    return task;
  }


10 commentaires

oui mais quel fichier shud j'utilise, comme le fichier de fichier que j'ai utilisé pour "enfant ()" désigne le chemin de fichier dans le Firebasestorage, alors qu'est-ce que ce fichier indique-t-il?


Cela dénote-t-il le fichier qui va être créé pour l'adresse donnée? J'ai donné au fichier JPG lui-même dans le "Filépath"


Vous devez utiliser un exemple d'objet de fichier: fichier tempimage = attendre imagepicker.pickImage (source: imagesource.gallery); Si vous avez utilisé image_picker plugin pour obtenir des images de la galerie, puis le pickimage METHD renvoie un objet de fichier que vous pouvez utiliser dans putfile


dans le FilePath Vous ajoutez le chemin qui figurera dans la console de stockage, par exemple, le chemin peut être, enfant ("Images"), puis vous créez un nouvel objet de fichier qui contiendra l'image JPG et ajoutez à putfile


ive a édité la question, il jette une exception comme indiqué ci-dessous


@Hdd quelle est votre question? Posez une autre question et liez-le ici pour que je puisse vérifier


@Peterhaddadd Stackoverflow.com/questions/62045943/... aidez-moi, sauvez ma vie


@Hdd j'ai besoin de quelqu'un pour sauver ma vie :(


@Peterhaddad, oo, viens monsieur, veuillez me suggérer une sortie de ça :)


Pour ceux qui ont trébuché sur cette personne qui cherchait de mettre en œuvre des métadonnées directement, vous pouvez faire var métadata = StorageMetaData (Custapetadata: {'Somemetadata': 'Yesiam}); StorageUploadTask UpploAsk = ref.putFile (imagefile, métadonnées);



0
votes

à partir du message d'erreur que vous obtenez, il semble qu'il n'y ait aucun fichier au fichier ("images / tts2.jpg"); sur votre téléphone, ce qui signifie que le SDK ne peut trouver aucune donnée. télécharger sur le stockage en nuage.

En général, je serais méfiant du chemin relatif que vous utilisez ici. Exemple fourni avec le stockage FireBase SDK crée un fichier à un chemin absolu dans la tempe Dir avec Fichier final Fichier = Await fichier ('$ {systemtempdir.path} /foocepduid.txt'). Créer (); , et je vous recommande d'utiliser également d'utiliser des chemins absolus sur le système de fichiers.

Vous devrez trouver le chemin absolu de l'image que vous souhaitez télécharger, soit en parcourant le système de fichiers de votre appareil, soit en prenant le chemin absolu de la galerie ou de la caméra. Par exemple, si vous utilisez un Picker de fichier , vous pouvez obtenir le fichier avec: < Pré> xxx


1 commentaires

le chemin absolu dans mon téléphone?



0
votes

Cela pourrait sembler très trivial, mais Peter Haddad a souligné dans les commentaires de son poste

C'est probablement parce qu'il n'y a pas d'image avec ce chemin ...

Quel est exactement le problème pourquoi j'ai eu cette erreur. Mon erreur était que j'ai supposé qu'une erreur est lancée lorsque l'objet (code> est créé et qu'un chemin inexistant a été utilisé pour créer cet objet. Cependant, ce n'est pas le cas. Par conséquent, Assurez-vous de vérifier que l'objet de fichier fait référence au chemin correct .


0 commentaires