【问题标题】:how to download image in data/data/application folder in android using cordova如何使用cordova在android的data/data/application文件夹中下载图像
【发布时间】:2014-08-15 15:58:20
【问题描述】:

我希望我的 cordova(3.3.0) 应用程序在我的应用程序存储 (data/data/com.exp.abc) 中下载图像,但我无法找到任何解决方案。我集成了文件和文件传输插件,它与 sdcard 存储一起工作正常,但我希望我的应用程序将数据存储在应用程序本地存储中。我已经尝试过

**var filepath = "data/data/com.exp.abc";
  var filepath = "Android/data/com.exp.abc";
  var filepath = "data/data/com.exp.abc";
  var filepath = "file:///android_asstes/www/img";**

首先给出文件未找到错误,而这会将文件存储在 sdcard 中而不是内部存储

 **var target = "cdvfile://localhost/temporary/img/";**

我也尝试过改变

 **window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFSS, failS);**

到

**window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, gotFSS, failS);**

但它又对我不起作用。任何人都可以帮我解决这个问题?????

【问题讨论】:

  • 如果下载成功,您应该重新扫描您的设备存储,因为 Cordova 不知道文件是否已下载。所以我做了一个插件,它是一个下载后更新画廊的插件。 cordova-plugin-gallery-refresh

标签: android file cordova


【解决方案1】:

我遇到了类似的问题,但在网络上的任何地方都找不到答案。

这是任何需要它的人的答案。它使用角度......但你应该能够在标准的javascript中使用它。

angular.module('starter.controllers', [])
.controller('DownloadProductsCtrl', function ($scope, $state,$cordovaFile, $cordovaProgress) {
var uri = "http://your_domain/file_name";
// for sqlite databases
var file_path = "cdvfile://localhost/persistent/../../../data/data/<your-app-id>/databases/filename.sqlite.db";
//for files 
var file_path = "cdvfile://localhost/persistent/../../../data/data/<your-app-id>/filename.ext";

//using ngcordova to download the file
                  $cordovaFile
                    .downloadFile(uri, file_path, true, {})
                    .then(function (result) {
                        // Success!
                        $cordovaProgress.hide();
                        console.log("Finished Downloading", result);
                        $state.transitionTo('home');
                    }, function (err) {
                        // Error
                        console.log(err);
                    }, function (progress) {
                        $scope.perc = Math.floor(progress.loaded / progress.total * 100);
                        $scope.progress_bar = $scope.perc + "% Downloaded";

                    });
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2012-12-04
    • 2010-12-01
    相关资源
    最近更新 更多