3 votes

React native Mailer (RNMail) - problème d'attachement de fichier

Je suis actuellement en train d'essayer d'envoyer un e-mail depuis l'appareil de l'utilisateur via mon application React Native. Le processus pour le faire est simple. L'utilisateur remplit quelques champs d'entrée, sélectionne une image (nouvelle ou depuis la galerie) et procède à l'envoi par e-mail. Selon la documentation du module, un chemin de fichier absolu vers l'image est requis.

Le chemin de fichier que j'obtiens ressemble à ceci :

file:///Users/User/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE250ED968.jpg

Et je reçois le message d'erreur suivant :

L'exception '-[MFMailComposeInternalViewController addAttachmentData:mimeType:fileName:] la pièce jointe ne doit pas être nulle.' a été lancée lors de l'invocation du courrier sur la cible RNMail avec les paramètres (
        {
        attachment =         {
            name = Nom;
            path = "file:///Users/zser/Library/Developer/CoreSimulator/Devices/909705DC-D5…119-75CC009FFA5C/Documents/images/6EC7EAA7-0D37-4909-ABC4-B5DE250ED968.jpg";
            type = jpg;
        };
        body = "Contenu";
        isHTML = 1;
        recipients =         (
            "reiceiver@mail.com"
        );
        subject = sujet;
    },
    25
)

Est-ce qu'il y a quelque chose qui ne va pas avec ce chemin?

Voici le code de base qui devrait accepter le fichier en tant que pièce jointe :

Mailer.mail({
      subject: 'Sujet',
      recipients: ['receiver@mail.com'],
      body: `Contenu`,
      isHTML: true, // iOS seulement, exclure si faux
      attachment: {
        path: that.state.absolute_path,  // Le chemin absolu du fichier à partir duquel lire les données.
        type: 'jpg',   // Type MIME : jpg, png, doc, ppt, html, pdf
        name: 'Ladunek',   // Optionnel : Nom personnalisé pour la pièce jointe
      }
    }, (erreur, événement) => {
        if(erreur) {
          AlertIOS.alert('Erreur', 'Malheureusement, le courrier n'a pas été envoyé. Veuillez envoyer manuellement un courrier à : receiver@mail.com');
        }
    })

Merci pour votre aide

0voto

noa-dev Points 1785

Apparemment, en supprimant 'file:///' du chemin absolu, le problème a été résolu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X