Please provide the following:
- SDK Version: 42.0.1;
- Platforms(Android/iOS): Android, IOS;
- expo-camera;
Olá tudo bem?
Sou desenvolvedor mobile! Trabalho com react-native e tenho um código em Expo para rodar em Android e IOS. Estou tendo um problema ao fazer upload com axios.post, que no caso funciona no dispositivo físico do Android, funciona também no emulador IOS, mas quando tento fazer o mesmo upload pelo dispositivo físico (Iphone X), o upload falha retornando status 500, sendo que o código é o mesmo e o log de erro nem chega no meu servidor. Já tentei fazer upload de várias maneiras diferentes, mas a resposta é sempre a mesma! Status 200 no emulador Android e no dispositivo físico do Android, e também status 200 no emulador IOS. Já no dispositivo físico Iphone X a resposta é o código 500 (erro interno do servidor). Alguém poderia me ajudar com isso? O código está logo abaixo.
**upload = async () => {
const userTOKEN = AsyncStorage.getItem('@TOKEN')
const url = 'http://myUrl/api/upload/imagem/'
const body = new FormData();
body.append('imagem', {
uri: this.state.imageuri,
name: 'user.jpg',
type: 'image/jpeg'
});
axios({
url: url,
method: 'POST',
headers: {
'Authorization': `Bearer ${(await userTOKEN).toString()}`,
},
data: body
})
.then(response => {
response.data
/* console.log(response.data); */
/* this.setState({ modalUpload: false }) */
/* Alert.alert('Dados: ', response.data) */
}).catch(function (error) {
console.log(error);
});
};**
Respostas: Emulador Android (Qualquer versão): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;
Dispositivo Físico Android (Android 11): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;
Emulador IOS iPhone 12 Pró Max (IOS 14.5): => Status: 200 , response.data = http: //myUrl//imagens/prova.jpg;
Dispositivo Físico IOS Iphone X (Qualquer versão): => Status: 500 , console.log (erro) = resposta: 500;
Sabem me dizer se é algo relacionado à segurança da Apple? Tem algo a ver com a diferença entre os navegadores?
Vale lembrar que estou usando apenas o VSCode versão 1.55.2, tanto no Mac quanto no Windows.