He usado expo-image-picker y axios 0.26.1 . formData en axios versión 0.26.1 no funciona. cuando se usa formData , los datos no se envían a la api
baje la versión de axios a la versión 0.24.0 pero recibo este error al enviar formData en el emulador de Android.
Error: error de red
datos de formulario:
export const sendRequest = (url, response, method, formData) => { return axios({ url, method, data: method !== "get" ? formData : null, headers: { Authorization: `Bearer ${response.data.access}`, transformRequest: (data, headers) => { return formData; }, }, }); const formData = new FormData(); const imageUri = image.value.uri; const newImageUri = "file:///" + imageUri.split("file:/").join(""); formData.append("photo", { uri: newImageUri, type: mime.getType(newImageUri), name: newImageUri.split("/").pop(), }); data.append("title", title);¿Puedes ayudarme por favor?
Este error se ha publicado en problemas de Axios GitHub y aparentemente está presente desde 0.25.0. Tuve que retroceder a la versión 0.24.0 para que funcionara. Sin embargo, este problema se ha cerrado con las siguientes soluciones.
Método 1:
const formData = new FormData(); const response = await axios.post('/URL', formData, { headers: { ...formData.getHeaders() } });Método 2:
axios.post(url, formData, { headers: { 'Content-Type': 'multipart/form-data' }, transformRequest: formData => formData, })