file:///来自SD卡的路径图像未显示在离子cordova中

时间:2015-09-25 09:21:45

标签: angularjs image cordova ionic-framework ionic

我使用$ cordovaFileTransfer插件下载了图片并将它们存储在cordova.file.externalDirectory 中..将其路径存储在sqlite本地数据库中。

当我在图片" ng-src"中设置图片的路径时使用ng-repeat .. 图像没有显示 ..我可以在chrome" Inspect Element"中看到&#;; em该路径实际上是在那里有图像,但不知何故它没有预览。

我得到的图像路径是这样的: 文件:///storage/sdcard0/appify/imgs/DSC_0124_1443159471.jpg

但是,图片无法渲染

对此有何帮助?

谢谢

1 个答案:

答案 0 :(得分:2)

所以要看几件事:

  1. https://github.com/apache/cordova-plugin-file#where-to-store-files
  2. 您可能需要查看cordova.file.externalDataDirectory

    此外,插件文档为:

      

    为了向后兼容,resolveLocalFileSystemURL()方法将接受device-absolute-path,并返回与其对应的Entry对象,只要该文件存在于TEMPORARY或PERSISTENT文件系统中。

         

    这特别是文件传输插件的一个问题,它先前使用了设备绝对路径(并且仍然可以接受它们)。它已更新为与FileSystem URL一起正常工作,因此用entry.toURL()替换entry.fullPath应解决任何问题,使该插件与设备上的文件一起使用。

    1. https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
    2. 您是否尝试过阅读该文件?

      window.resolveLocalFileSystemURL(imageData, function(fileEntry) {
         fileEntry.file(function(file) {
            var reader = new FileReader();
            reader.onloadend = function(evt) {
               // set source here using result
            }
            reader.readAsDataURL(file);
         });
      });