Я использую response-native-fs для создания CSV-файла, и каждый раз этот файл создается успешно.Однако я хочу открыть этот CSV-файл в другом приложении сразу после создания.Я использую Linking.openURL, и он позволяет мне выбрать, в каком приложении открыть файл csv, но независимо от того, какое приложение я выберу, они всегда не смогут прочитать файл csv.
Например,Microsoft Excel сообщает: «Не удается открыть файл. Попробуйте сохранить файл на устройстве и затем открыть его» * 1003 *
Почему-то, когда я вручную захожу в папку загрузок (в которой сохранен файл) и открываю ее вручную, он работает нормально, каждое приложение откроет его успешно.После этого мое приложение сможет заставить другие приложения успешно открыть файл csv.Но когда я создаю новый CSV-файл, другие приложения не смогут открыть его, пока я снова не открою его вручную.
Я пробовал файлы CSV, HTML и TXT.Открытие файла CSV в Excel, Google листов и CSV Viewer.Сохранение файла в разных местах.И подождите секунду, прежде чем мое приложение откроет файл.(Все сбой)
Вот только мой код.
var toFolder = RNFS.ExternalStorageDirectoryPath + '/Download/';
var fileName = 'SomeFile.csv';
var content = "June 27,June 28,June 29,June 30\n2,3,4,5";
RNFS.writeFile(toFolder + fileName, content, 'utf8')
.then((success) => {})
.catch((err) => {
Alert.alert("Can't save file")
return;
});
var readFrom = "content://com.sec.android.app.myfiles.FileProvider/device_storage/Download/" + fileName;
Linking.canOpenURL(readFrom)
.then((supported) => {
if (supported) {
Linking.openURL(readFrom);
} else {
Alert.alert("Opening this file is not supported")
}
}).catch((err) => {});
Другие приложения должны иметь возможность открывать файл из моего приложения, без необходимости заходить в системные файлы и открывать еговручную.Есть идеи?В противном случае, я также был бы в порядке, если есть способ открыть приложение папки загрузок из моего приложения, но я не смог найти никакой информации по этому поводу.Любой ответ приветствуется.