Как я могу загрузить файл .obj в cloudinary, выбранный из средства выбора документов expo?

#node.js #expo #cloudinary

Вопрос:

uri после выбора файла из средства выбора документов expo выглядит примерно так

«содержимое:com.android.провайдеры.загрузки.документыдокумент6359»

и в бэкэнде, используя узел js, я пытаюсь загрузить файл (это файл .obj) в cloudinary с помощью SDK cloudinary

   cloudinary.v2.uploader.upload(
    foodObjFileUri,
    { public_id: "test", resource_type: "auto" },
    function (err, results) {
      if (err) {
        return res.status(500).json({
          success: false,
          error: err,
          msg: "error upload obj to cloudinary!",
        });
      }
 

The error I get upon uploading the file to cloudinary:

 Object {
  "error": Object {
    "code": "ENOENT",
    "errno": -4058,
    "path": "E:\Users\{Username}\Desktop\React Native projects\DishAR\com.android.providers.downloads.documents\document\6359",
    "syscall": "open",
  },
  "msg": "error upload obj to cloudinary!",
  "success": false,
}
 

Что я должен сделать, чтобы загрузить свой файл в cloudinary с помощью их SDK через средство выбора документов expo? Пожалуйста, помогите, я застрял.

Комментарии:

1. Трудно быть уверенным, не видя фактического кода, но, похоже, Expo возвращает объект контента с content: URI, и SDK Cloudinary ожидает, что вы загрузите его через ссылку на файл, URL-адрес файла:// или входной поток? Если это так, вы можете решить эту проблему, взяв подробную информацию из Expo и прочитав сам файл с помощью ExpoFileSystem.readAsStringAsync : docs.expo.io/versions/latest/sdk/filesystem/#methods