我是使用Expo(版本 ^50.0.7)在一个React Native项目上工作,并在使用Axios上传图像时遇到了一个具有挑战性的问题。负责将用户的配置文件图片上传到我的服务器的功能大部分时间都可以正常工作,但偶尔(大约每4-5个上传),它会出现“ Axios网络错误”。 tostinesty,当我使用Postman执行相同的请求时,它每次都可以完美地工作,这使我相信这个问题在于我的应用程序的前端。 我到目前为止尝试过的细节是:

问题描述 投票:0回答:0
用formdata值播放。

将Axios置于不同的版本,以查看问题是否持续下去。

为后端带来了潜在的CORS问题,但问题仍然存在。

BELOW是我的图像上传函数的简化版本:

const handleUpload = async (formData) => { try { const token = await getFromAsyncStorage(Keys.AUTH_TOKEN); const response = await axios.post( "http://<my-ip-address>/auth/profile-image-upload", formData, { headers: { Authorization: `Bearer ${token}`, "Content-Type": "multipart/form-data;", }, } ); return response.data; } catch (error) { console.error(error); throw error; } };
  1. 这是我准备formdata的方式:
  2. // Request camera permissions const hasPermission = await requestCameraPermissionsAsync(); if (!hasPermission) return; // Open the camera with ImagePicker const result = await ImagePicker.launchCameraAsync({ cameraType: ImagePicker.CameraType.front, allowsEditing: true, // Allows editing the picture aspect: [1, 1], // Square aspect ratio quality: 0.2, // Quality }); // If the user doesn't cancel, set the selected image if (result.canceled) return; setIsLoading(true); const file = result.assets[0]; const formData = new FormData(); formData.append("avatar", { uri: file.uri, type: "image/jpeg", name: "profile", } as any); const data = await handleUpload(formData);
  3. cavive认为,每次上传尝试都不会发生此错误,而邮递员永远不会发生这种错误,我不知所措。如果有人遇到了类似的问题或对潜在解决方案有深入的了解,我将非常感谢。
  4. 提前感谢您的帮助!
@Michael Ilkanayev。您能解决问题吗?我遇到了与React Native 0.76和Axios/Fetch一起遇到的类似问题。就我而言,照片也缓慢加载。我通过将参数“ maxrects:0”添加到Axios中,在照片上载中实现了显着的加速。至于网络错误问题,我仅通过在错误时将照片重新列为来解决。

reactjs react-native post axios expo
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.