как можно открыть текстовый файл с телефона в react native приложении для загрузки его в состояние и затем работать с ним

Как открыть текстовый файл с телефона в react native приложении


Ответы (2 шт):

Автор решения: Anatoly

Использовал более года назад react-native-document-picker в связке с react-native-fs. К примеру:

import DocumentPicker from 'react-native-document-picker';
import RNFS from 'react-native-fs';

// Функция для выбора файла
const pickFile = async () => {
  try {
    const res = await DocumentPicker.pick({
      type: [DocumentPicker.types.allFiles],
    });
    const fileContent = await RNFS.readFile(res.uri, 'utf8');
    console.log( fileContent);
    // Ваши операции с fileContent
    
  } catch (err) {
    if (DocumentPicker.isCancel(err)) {
      console.log('Canceled');
    } else {
      console.error('Error picking file:', err);
    }
  }
};

Скорее всего есть изменения: документация react-native-document-picker, документация react-native-fs

→ Ссылка
Автор решения: Fedor71

import React, { useState } from 'react' import * as DocumentPicker from 'expo-document-picker'

const [file, setFile] = useState('')

const getFile = async () => {
    try {
        const response = await DocumentPicker.getDocumentAsync({})
        const uri = `${response.assets[0].uri}`
        const fileContent = await FileSystem.readAsStringAsync(uri)
      // Получил файл, поместил в state затем отредоктировал его в TextInput
      // теперь задача сохранить этот файл на телефоне (уже отредоктированный)
      // пока в поиске решения.
        setFile(fileContent)
    } catch (err) {
        console.warn(err)
    }
}
→ Ссылка