我们有一个Cordova应用程序。我收到一张传递给我的图片,保存在缓存中。
我需要从字符串url:
创建一个文件File pictureFile = new File(fileURL)
但是,当我尝试加载该图像文件时,它会一直失败(找不到文件)。
我传递的样本是:
file:///data/data/co.appname.app/cache/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg
我尝试制作以下网址,但在创建文件
时无效/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
我还尝试仅使用文件名tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg
并直接获取缓存目录,但这两者都不起作用
String path = getFilesDir().getAbsolutePath() + tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg
最终会以/data/data/co.appname.app/files/tfss-4cb94488-1843-4ad3-8d02-8802008c7186-1685720347.jpg
结束,但仍会显示为空。
因为我们将图像上传到Twitter并且Cordova将图像保存在缓存中,所以图像存在于那里。
你能告诉问题是什么吗?
答案 0 :(得分:2)
我需要致电getCacheDir()
而不是getFilesDir()
。