J'essaie de télécharger une image de fichier à API dans Postman qui fonctionne bien, mais lorsque AI Essayez l'image de fichier de ImagePicker n'a pas fonctionné.
Je pense faire quelque chose de mal lors de la création de formdata p>
P> >
export function uploadImageProfile(data: any): Promise<any> {
const config = {
headers: {
'Content-Type': 'multipart/form-data',
},
};
return api.post('/users/profilepic', {image: data}, config).then((res) => {
console.log(res.data);
return res.data;
});
}
3 Réponses :
Vos données de formulaire doivent être comme ça.
axios.post('/users/profilepic', formdata, config).then((res) => {
console.log(res.data);
return res.data;
});
Dans le côté serveur montrent cette erreur: Erreur: multipart: limite non trouvée
Quelle bibliothèque utilisez-vous lors de la connexion de l'API?
Si vous n'utilisez pas Axios, veuillez essayer avec Axios. Vous écrivez 'Axios.post' au lieu de 'api.post'
API Post est une classe d'URL par défaut Axios et d'en-têtes par défaut: Axios.create () est API
Je modifie ma réponse avec quelques modifications, pouvez-vous l'essayer?
Axios Calculer la limite automatiquement.
ne travaillez pas et mon service d'API est: importer Axios de 'Axios'; const api = axios.create ({baseurl: ' localhost: 3000 / API '}) API par défaut;
let reqObj = {
method: "POST",
url: 'http://example.com/upload/image',
headers: {
'x-sh-auth': token,
...formdata.getHeaders()
},
maxContentLength: Infinity,
maxBodyLength: Infinity
};
axios(reqObj).then(result => {
console.log(result)
}).catch(error => {
console.log(error)
});
J'ai changé comment j'envoie une image sur le serveur. Maintenant, envoyez maintenant IM Base64 et dans le serveur Convertir en fichier avec FS code>. async saveImageProfile(imageBase64, logedUserData) {
let base64Image = imageBase64.imageBase64.split(';base64,').pop();
let type = imageBase64.imageBase64.split('image/').pop().split(';')[0];
let newFileName = `${logedUserData.id}.${type}`;
if (imageFileFilter(type)) {
const file = await fs.writeFile('./files/' + newFileName, base64Image, { encoding: 'base64' }, function (err) {
console.log('File created');
});
const url = `${baseUrl}/users/files/${newFileName}`;
this.updateRefProfilePic(url, logedUserData);
}
else {
throw new BadRequestException("Tipo de arquivo não suportado");
}
}
qui réagissent la version natale?