$window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
function gotFS(fs) {
// case 1
fs.root.getFile('/storage/emulated/0/VIDEO0048.mp4', null, ok, fail);
//case 2
fs.root.getFile('/storage/ext_sd/VIDEO0048.mp4', null, ok, fail);
}
在上面的代码中使用Android上的Cordova文件插件v1.3.3,案例1工作,案例2没有。对于案例2,它报告错误1000.我知道两个文件都存在,一个在内部存储中,一个在SD卡上,我在清单中设置了READ_EXTERNAL_STORAGE权限。是否有人使用Cordova文件插件以这种方式访问SD卡上的文件并使其正常工作?
答案 0 :(得分:2)
以下是我自己的问题的答案,以防它帮助其他人。
为了实现这一点,我升级到了cordova-plugin-file的2.1.0版本,而不是使用getFile(不再使用绝对路径)我使用$ window.resolveLocalFileSystemURL来获取一个适用于两者的fileEntry内部和SD卡路径。唯一的缺点是我不得不提前做文件://"到我的路径,看起来像这样" file:///storage/ext_sd/VIDEO0048.mp4"传递给resolveLocalFileSystemURL。