我正在尝试从服务器下载文件,然后使用phonegap将其保存到设备的内部存储中。这是我到目前为止所拥有的
if(ionic.Platform.isAndroid()){
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){
fileSystem.root.getFile("test.mp3", {
create: true,
exclusive: false
}, function(fileEntry){
var sPath = fileEntry.fullPath; // equals /test.mp3
// sPath = "file:///storage/sdcard0/test.mp3";
var fileTransfer = new FileTransfer();
fileEntry.remove();
fileTransfer.download(
ringtone.streamUrl,
sPath,
function(theFile){
alert(theFile);
}
);
});
}, null);
}
问题在于,当我给出像file:///storage/sdcard0/test.mp3
这样的绝对文件路径时,它会将文件完美地下载到内部存储器,但如果使用sPath变量则不能正常工作。据我所知,我无法获得内部存储目录的绝对路径。我们如何使用phonegap在android中以file:///
格式获取内部存储路径。
答案 0 :(得分:0)
我不确定这是否是标准或推荐的方式,但我已经在LG G2,Samasung Galaxy S3和2款Motorolla手机上进行了测试,效果非常好。 我只是使用以下命令连接到模拟器
adb shell
并输入
ls -la
在结果中,在根/
目录中有一个名为sdcard的目录,该目录是位于其他位置的原始sdcard文件夹的符号链接
ls -la
sdcard -> storage/sdcard0
所以路径file:///sdcard/test.mp3
为我做了诀窍。