开发者问题收集

React Native Expo Contrentir File:// a base64

2020-05-07
2722

我正在尝试将 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获取

[未处理的承诺拒绝:TypeError:未定义不是一个对象(评估'FileSystem.EncodingTypes.Base64')]

2个回答

您使用了错误的函数。

FileSystem.writeAsStringAsync 用于将内容写入文件。

您想要的是读取文件的内容。

您应该使用 FileSystem.readAsStringAsync。

monsty
2020-05-07

尝试一下!为我工作

392309656
Manoel Pereira Leno
2020-09-30