javascript - Brug URI på expo Document-picker for at få selve filen


Jeg blev fastlåst, mens jeg forsøgte at uploade en fil fra react-native (android ved hjælp af expo) til en back-end server. Jeg fik dette svar fra DocumentPicker.getDocumentAsync()

    {
      "name": "QuitusInscription_30769_59.pdf",
      "size": 41438,
      "type": "success",
      "uri": "file:///data/user/0/host.exp.exponent/cache/ExperienceData/%2540anonymous%252Fcsdl_frontend-46ddf63e-90ab-44b3-a4c7-6ad7aad5cccc/DocumentPicker/a40a6599-4900-439a-9e9b-57fa555a80c9.pdf",
    }

Mit problem er nu, hvordan man bruger URI'en for at få selve filen? Så jeg kunne sende den til back-end serveren

Tak

Svar #1

Har du prøvet ExpoFileSystem.readAsStringAsync?

For eksempel allerede at have den uri, du talte om:

import * as ExpoFileSystem from 'expo-file-system'
...
const fileContent = await ExpoFileSystem.readAsStringAsync(uri);

Og måske vil du konvertere det fra JSON til et andet format:

const content = JSON.parse(fileContent);