реагировать на собственный файл конвертера Expo: // base64 - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь преобразовать file: // в base64, я получаю uri (file: // ...) выбранного файла, но при передаче его через FileSystem для преобразования в base64 у меня возникают проблемы

 pdf = async () => {
    let file = await DocumentPicker.getDocumentAsync({ type: "application/pdf", copyToCacheDirectory: true, multiple: true });

    console.log(file.uri)

   let fileBase64 = await FileSystem.writeAsStringAsync(file.uri, { encoding: FileSystem.EncodingTypes.Base64  });

    console.log(fileBase64)
}

в первом console.log (file.uri) Я получаю uri файла

file:///data/user/0/host.exp.exponent/cache/ExperienceData/%2540anonymous%252Fasd-6a4b4e8e-3a0f-43b8-b1ds94-99f8ac7/DocumentPicker/9cf51edfab9-5185-411f-a397-ef10633sdf7324f.pdf

во втором console.log (fileBase64), где я должен преобразовать в base64 я получаю

[Unhandled promise rejection: TypeError: undefined is not an object (evaluating 'FileSystem.EncodingTypes.Base64')]

1 Ответ

0 голосов
/ 07 мая 2020

Вы используете неправильную функцию.

FileSystem.writeAsStringAsyn c используется для записи содержимого в файл.

Все, что вы хотите, - это прочитать содержимое файла.

Вместо этого вы должны использовать FileSystem.readAsStringAsyn c.

...