要在 React Native 中上传文件到后端,您可以使用 fetch API 或 axios 库来发送 POST 请求。以下是使用 fetch API 的示例代码:

const uploadFile = async (fileUri) => {
  try {
    const formData = new FormData();
    formData.append('file', {
      uri: fileUri,
      type: 'image/jpeg', // 根据实际文件类型进行调整
      name: 'photo.jpg', // 根据实际文件名进行调整
    });

    const response = await fetch('https://example.com/upload', {
      method: 'POST',
      body: formData,
    });

    const result = await response.json();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
};

// 调用上传文件函数
uploadFile('file://path/to/file.jpg');

在上述代码中,我们首先创建了一个 FormData 对象,并将文件添加到 FormData 中。然后,我们使用 fetch API 发送一个 POST 请求,将 FormData 作为请求体发送到服务器。最后,我们解析服务器返回的响应数据。

请注意,您需要根据实际情况调整文件的类型和名称,并将上传文件的 URL 替换为您的后端服务器 URL。

如果您更喜欢使用 axios 库,您可以按照以下方式进行设置和使用:

首先,您需要安装 axios 库:

npm install axios

然后,您可以使用以下代码将文件上传到后端:

import axios from 'axios';

const uploadFile = async (fileUri) => {
  try {
    const formData = new FormData();
    formData.append('file', {
      uri: fileUri,
      type: 'image/jpeg', // 根据实际文件类型进行调整
      name: 'photo.jpg', // 根据实际文件名进行调整
    });

    const response = await axios.post('https://example.com/upload', formData);

    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
};

// 调用上传文件函数
uploadFile('file://path/to/file.jpg');

与使用 fetch API 相比,使用 axios 库可以提供更多的功能和便利性,例如自动处理 JSON 解析和错误处理。

请记住,根据您的后端 API 的要求,您可能需要调整请求头或其他参数。


原文地址: https://www.cveoy.top/t/topic/10W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录