Aggressor
Aggressor

Reputation: 13549

Android Can't Get Cached Image From File Path

We have a Cordova app. I am getting an Image passed to me which is saved in the cache.

I need to make a file from a string url:

File pictureFile = new File(fileURL)

However when I try to load that image file it keeps failing (file not found).

A sample of what I am passed is this:

file:///data/data/co.appname.app/cache/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg

I have tried making the following urls and none work when I create a file

/data/data/co.appname.app/files/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg

file:/data/data/co.appname.app/files/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg

I also tried taking just the file name tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg and getting the cached directory directly and that didn't work either

String path = getFilesDir().getAbsolutePath() + tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg

That just ends up with /data/data/co.appname.app/files/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg which still comes up null.

The image HAS to exist there though because we are uploading it to Twitter and Cordova is saving the image in the cache.

Can you advise what the issue might be?

Upvotes: 0

Views: 1371

Answers (1)

Aggressor
Aggressor

Reputation: 13549

I needed to call getCacheDir() not getFilesDir().

Upvotes: 2

Related Questions