Есть ли способ преобразовать формат FILE_URI в объект File в плагине Native Camera в Ioni c? - PullRequest
1 голос
/ 16 апреля 2020

Это выдержка из собственного интерфейса плагина CameraOptions Ioni c.

DestinationType: {
  /** Return base64 encoded string. DATA_URL can be very memory intensive and cause app crashes or out of memory errors. Use FILE_URI or NATIVE_URI if possible */
  DATA_URL: number;
  /** Return file uri (content://media/external/images/media/2 for Android) */
  FILE_URI: number;
  /** Return native uri (eg. asset-library://... for iOS) */
  NATIVE_URI: number;
};

Если я использую DATA_URL, я вижу, что приложение вылетает при попытке загрузить изображение с камеры или из библиотеки фотографий. Поскольку они упоминали, что «DATA_URL может быть очень требовательным к памяти и вызывать сбои приложения », я хочу использовать FILE_URI.

Я пытался сделать это так

fileURI = 'data:image/jpeg;base64,file:///storage/emulated/0/Android/data/com.abc/cache/1586842420784.jpg'
const file = new File(fileURI, 'firstImage.jpg')
console.log('File Object', file)

Но ответ приходит, как показано ниже, все поля имеют значение null.

{
   "name":"file:///storage/emulated/0/Android/data/com.slicktalks/cache/1586844010984.jpg",
   "localURL":"filename.png",
   "type":null,
   "lastModified":null,
   "lastModifiedDate":null,
   "size":0,
   "start":0,
   "end":0
}

Я ожидал что-то в этом формате, надлежащий File объект для отправки его в наш внутренний API.

File {
   lastModified: 1582829787565
   lastModifiedDate: Thu Feb 27 2020 10:56:27 GMT-0800 (Pacific Standard Time) {}
   name: "TestImageAM.png"
   size: 186278
   type: "image/png"
   webkitRelativePath: ""
}

Может ли кто-нибудь подсказать, что я делаю неправильно, и указать мне правильное направление? Ценю вашу помощь.

...