J'utilise réacteur-natif-picker code> pour récupérer les détails de l'image et essayez de télécharger dans le serveur HTTPS Backend. La demande n'est pas réussie et elle jette une erreur réseau. Il n'a pas establé la connexion avec le serveur Backend. Le problème est avec formdata code> que j'envoie. Pouvez-vous suggérer en-tête code> et d'autres informations, si je vous ai manqué. export const postImage = async state => {
let formData = new FormData();
formData.append('image', {
uri : state.photo.uri,
type: state.photo.type,
name : state.photo.fileName
});
const config = {
headers: {
'Content-Type': 'multipart/form-data',
Accept: "application/x-www-form-urlencoded",
'Accept': 'application/json'
},
};
try {
return $http.post('/image/save', formData, config)
.then(response => response)
.catch(error => error)
} catch(error) {
console.log(error)
}
}
4 Réponses :
Il y a un problème avec Flipper, la mise à niveau à 0,39,0 et ci-dessus fonctionne
Ce problème est en cours de suivi ici: https://github.com/facebook/react-native/issues/28551 p>
correction: https://github.com/facebook/flipper/issues/993#issuecomment-619823916 p>
This should be fixed in version 0.39.0. To upgrade, edit android > gradle.properties # Version of flipper SDK to use with React Native FLIPPER_VERSION=0.39.0 // edit this manually
Ce problème m'a pris plus de 5 heures pour résoudre. J'étais sur le point d'abandonner quand j'ai finalement pu résoudre le problème.
La question que j'étais confrontée, qui est proche de ce que vous mentionnez est que je reçois NetworkError lors de l'utilisation d'Expo-Image-Picker et d'essayer de télécharger Le fichier utilisant C'est comme ça que j'ai résolu le problème. P> Il existe deux problèmes indépendants d'action ici. Disons que nous obtenons Le premier numéro est avec le La solution pour le premier numéro est utiliser la seconde Le problème est que nous n'utilisons pas le type de mime approprié. Cela fonctionne bien sur iOS mais pas sur Android. Ce qui rend cela pire, c'est que le package de file-sélecteur donne le type de fichier comme "image" et ne donne pas de type mime approprié. P> La solution consiste à utiliser un type de mime approprié dans le < Code> formdata code> dans le champ La solution de travail finale est la suivante: forte> p> axios code>. Cela fonctionnait parfaitement dans IOS mais ne travaille pas dans Android. P> imageuri code> à partir du sélecteur d'image, nous utiliserons ces lignes de code suivantes pour télécharger depuis le frontage. P> imageuri code> lui-même. Si disons le chemin de la photo est / utilisateur /.../ chemin / to / fichier.jpg code>. Ensuite, le sélecteur de fichier dans Android donnerait à imageURI code> comme fichier fichier: / user /.../ voie de chemin / to / fichier.jpg fichier> alors que le sélecteur de fichier dans iOS donnerait imageURI code> valeur comme fichier: ///user/.../path/to/file.jpg code>. p> fichier: // code> au lieu de fichier: code> dans le formdata code> dans Android. strong> p> type code>. EX: Type MIME pour .jpg code> fichier serait image / jpeg code> et pour .png code> fichier serait image / png code>. Nous n'avons pas à le faire manuellement. Au lieu de cela,
Ceci est un problème avec Flipper.UPGrade la version Flipper dans Gradle.properties à 0,43,0+ et il sera fixé p>
Assurez-vous que le type MIME correspond au fichier que vous téléchargez. Pour moi, c'était le problème. P>