Cordova FileTransfer 显示下载的图像

标签 cordova ionic-framework file-transfer

我正在使用以下代码将图像下载到本地存储:

function saveImageToPhone(url, file) {

    var plat = device.platform;
    var deferred = $q.defer();
    var url = url;
    if(plat == "iOS"){
      var filePath = cordova.file.dataDirectory + "files/img/" +file;
    }else{
      var filePath = cordova.file.applicationStorageDirectory + "files/img/" +file;
    }

    var fileTransfer = new FileTransfer();
    var uri = encodeURI(url);

    fileTransfer.download(
      uri,
      filePath,
      function(entry) {
        console.log(entry);
        deferred.resolve();

      },
      function(error) {
        console.log("error");
        deferred.resolve();

      },
      true
    );

    return deferred.promise;
  }

我正在显示图像:

<img src="file:///var/mobile/Containers/Data/Application/0C911347-00D1-4133-9186-D9653E64B572/Library/NoCloud/files/img/{{myimagename}}.jpg">

上面的代码在android中运行良好(与其他src路径)。图像被下载、保存并显示在 frontedn 中。

iOS 在下载时调用成功函数,xCode 调试器向我显示积极的响应:

{"isFile":true,"isDirectory":false,"name":"3866938200000.1.jpg","fullPath":"/files/img/3866938200000.1.jpg","filesystem":"<FileSystem: library-nosync>","nativeURL":"file:///var/mobile/Containers/Data/Application/2A84F1F2-56D7-419A-B915-905C32FE851C/Library/NoCloud/files/img/3866938200000.1.jpg"}

但是图像没有显示在前端。是否有一个选项可以检查iOS(没有越狱设备)的文件系统以检查文件是否确实存在?或者我错过了什么?我的图像的 src 路径是否正确?

提前致谢

最佳答案

我发现您正在使用 cordova 文件插件

您应该将路径保存在 $scope 中,以便可以将其附加到您的 html

在你的 Controller 中:

$scope.path = cordova.file.dataDirectory

在你的 html 中

<img src="{{path}}Library/NoCloud/files/img/{{myimagename}}.jpg">

关于Cordova FileTransfer 显示下载的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271057/

相关文章:

c - 确认没有信号的 UDP 数据包?

android - 如何在phonegap中创建 toast ?

javascript - 如何在 phonegap 应用程序上存储文件或任何形式的数据?

javascript - 注册设备上的 Pushwoosh 回调

javascript - ios风格在phonegap中滑动删除动画

angularjs - 如何在 Ionic/Cordova 中集成 Adob​​e Creative SDK Feather Editor

android - “无法联系 Firebase 服务器”

java - TCP 文件传输问题

concurrency - 通过同时运行多个实例来加速 rsync?

android - 如何在 ionic framework + angularjs 中调用函数?