IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

React Discussion :

upload image de react native à un backend via axios


Sujet :

React

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 63
    Points : 35
    Points
    35
    Par défaut upload image de react native à un backend via axios
    bonjour

    je veux uploader une image de react native (avec expo) vers un backend symfony via axios.

    Voila le code front :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    const [pickedImage, setPickedImage] = useState("");
        const submitPhoto = async () => {
        try {
        const result = await ImagePicker.launchImageLibraryAsync();
        setPickedImage(result);
     
        let formData = new FormData();
              formData.append("uploaded_image", {
                uri:
                  Platform.OS === "android"
                    ? pickedImage.uri
                    : pickedImage.uri.replace("file://", ""),
                name: "tata.jpeg",
                type: "image/jpeg",
              });
              const response = await axios({
                method: "post",
                url: "http://192.168.1.3:8000/upload",
                data: formData,
              });
            } catch (error) {
              console.log(error)
            }
          };
    voila le code backend :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function postImage(Request $request)
    {
    //... some code
    $content = $request->files->get("uploaded_image");
    // ... handle the image in content
    }

    $content contient NULL, et je lai confirmé avec le profiler symfony

    j'ai essayé d ajouter un "Content-type": "multipart/form-data" dans axios, mais j'ai le message :
    Missing boundary in multipart/form-data POST data
    Est-ce que quelqu'un sait comment uploader l'image ?

    Merci d avance

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Salut il me semble que tu DOIT préciser le header dans ton POST axios du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
              const response = await axios({
                method: "post",
                url: "http://192.168.1.3:8000/upload",
                data: formData,
                headers: { "Content-Type": "multipart/form-data" },
              });
    A tester...
    Bon courage

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 63
    Points : 35
    Points
    35
    Par défaut
    bonjour,

    comme je l'ai expliqué dans mon message, j'ai essayé d'ajouter un "Content-type": "multipart/form-data" dans axios, mais j'ai le message :
    Missing boundary in multipart/form-data POST data
    En tous cas merci pour la suggestion !

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 63
    Points : 35
    Points
    35
    Par défaut
    Comme je l'ai expliqué, quand j'utilise axios avec le bon header (multipart/form-data) j'obtiens le message d'erreur

    Missing boundary in multipart/form-data POST data
    J'ai essayé d'utiliser fetch, et ça marche maintenant !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    let response = await fetch(
            "http://192.168.1.3:8000/upload",
             {
               method: "post",
               body: formData,
               headers : {
                 'Content-Type' : 'multipart/form-data;'
               }
             }
          )
    c'est bizarre, mais je ne sais pas pourquoi ça marche maintenant !

  5. #5
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    parce qu'avec axios les headers sont dans un objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    { 
        headers: {
                 'Content-Type' : 'multipart/form-data;'
               } 
    }

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 63
    Points : 35
    Points
    35
    Par défaut
    même si j'utilise un objet comme proposé, cela ne marche pas (toujours le même message d'erreur :
    Missing boundary in multipart/form-data POST data)

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/04/2020, 11h57
  2. Réponses: 4
    Dernier message: 29/11/2007, 13h09
  3. [Upload] Script upload images
    Par Myriamrv dans le forum Langage
    Réponses: 14
    Dernier message: 07/12/2005, 18h24
  4. Réponses: 1
    Dernier message: 31/10/2005, 09h33
  5. [Upload] Probleme upload images
    Par yveslens dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2005, 09h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo