Phonegap 下载文件并保存在内部存储中

Posted

技术标签:

【中文标题】Phonegap 下载文件并保存在内部存储中【英文标题】:Phonegap download file and save in internal storage 【发布时间】:2015-10-16 03:24:11 【问题描述】:

我正在尝试从服务器下载文件,然后使用 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:///格式的内部存储路径。

【问题讨论】:

【参考方案1】:

我不确定这是标准还是推荐的方法,但我已经在 LG G2、Samasung Galaxy S3 和 2 部摩托罗拉手机上进行了测试,并且效果很好。 我只是使用以下命令连接到模拟器

adb shell

进入

ls -la

在结果中,在根 / 目录中有一个名为 sdcard 的目录,它是指向位于其他地方的原始 sdcard 文件夹的符号链接

ls -la

sdcard -> storage/sdcard0

所以file:///sdcard/test.mp3 路径对我有用。

【讨论】:

如果没有 SD 卡,我想将图像保存在内存中。我的问题是***.com/questions/41255938/…

以上是关于Phonegap 下载文件并保存在内部存储中的主要内容,如果未能解决你的问题,请参考以下文章

如何在内部存储中创建文件夹并保存捕获的图像

java.io.FileNotFoundException 在内部存储中保存/加载android

在内部存储最佳实践中保存大量图像

拍照并将其保存在Android的内部存储中

将公共文件保存在内部存储中

在内部存储中保存/读取位图不起作用