2

Users of my application can select and crop images using Ionic Native - Crop. After they have cropped their image, I will have the URI of that image such as:

file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg?1535369482232

I want to use Ionic's File API, since it has a method readAsDataURL(path, file) which will convert the file to a base64 encoded data url, which is what I exactly need.

However, how would I properly separate the path and file from the URI of the file I have above so that readAsDataURL(path, file) is satisfied?

I also do not know what these numbers behind the .jpg?1535369482232 mean and I do not know what the name of the file would be or if it has a different directory on iOS since the URI above is provided from a test using Android Emulator.

P.S. I have tried calling the method with just the path above and no file name passed as second argument, but got the following error:

{"code":13,"message":"input is not a directory"}

How can I achieve the result I want for both iOS and Android file paths?

EDJ
  • 843
  • 3
  • 17
  • 37

1 Answers1

0

Your path refers 'cacheDirectory' this.file.cacheDirectory.

To get the file name.

const pathsplit = "file:///storage/emulated/0/Android/data/com.myApp/cache/1535369478970-cropped.jpg".split('/');
filename = pathsplit[pathsplit.length-1];
Suresh Kumar Ariya
  • 9,516
  • 1
  • 18
  • 27