Как скачкать файл по урлу с api?

Для скачивания файла по URL с использованием React Native вам понадобится использовать две основные библиотеки: react-native-fs и react-native-fetch-blob (или axios, если вы хотите использовать его).

1. Установите библиотеки, выполнив команды:

npm install react-native-fs
npm install react-native-fetch-blob

или

yarn add react-native-fs
yarn add react-native-fetch-blob

2. После установки библиотек добавьте ссылку на нативные модули в вашем JavaScript-коде. Для этого добавьте следующие строки в начало вашего файла:

import { NativeModules } from 'react-native';

const { RNFetchBlob } = NativeModules;
const { fs } = RNFetchBlob;

3. Далее вы можете использовать следующий код для скачивания файла:

const downloadFile = (url, destination) => {
  RNFetchBlob.config({
    fileCache: true,
    addAndroidDownloads: {
      useDownloadManager: true,
      notification: true,
      path: destination,
      description: 'File downloaded by download manager.',
    },
    path: destination,
  })
  .fetch('GET', url)
  .then((res) => {
    console.log('File downloaded at:', res.path());
  })
  .catch((error) => {
    console.error('Error while downloading file:', error);
  });
};

// Вызов функции downloadFile с передачей URL и пути для скачивания
downloadFile('http://example.com/file.pdf', '/storage/emulated/0/Download/file.pdf');

В коде выше downloadFile является функцией, принимающей URL для скачивания файла и путь назначения, где файл будет сохранен. RNFetchBlob.config настраивает параметры скачивания, такие как кэширование файла, путь к файлу на устройстве и использование менеджера загрузок на Android.

Обратите внимание, что данный код предназначен для загрузки файлов на устройство. Если вы хотите загрузить файлы на сервер, вам потребуется использовать другой подход, например, использовать стандартную функцию fetch или библиотеку axios, чтобы отправить файл на сервер.