Angular ng-src не может загрузить изображение в --livereload (ОБНОВЛЕНО)

Чего я пытаюсь достичь:

Когда пользователь щелкает заполнитель изображения, изображение загружается с сервера на устройство (в определенное место), путь к загруженному изображению (с устройства) затем сохраняется в $scope и отображается пользователю.

Ниже мой контроллер

.controller('NDetailCtrl', function($scope, $state,$stateParams,$ionicLoading,$ionicHistory,$timeout,$cordovaFile,$cordovaFileTransfer) {

    $scope.image = '';

    // triggered on click
    $scope.downloadFile = function(image) {

    var url = "http://app.example.org/uploads/"+image ;
    var filename = url.split("/").pop();

    var targetPath = cordova.file.externalRootDirectory+filename;
    var trustHosts = true;
    var options = {};


$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
  .then(function(result) {

    // Success!

    console.log(JSON.stringify(result));

    $scope.resource =  result.nativeURL;
    // This return the file location as
    // file:///storage/emulated/0/[filename]
    $scope.image = true;

    console.log($scope.resource);

  }, function(error) {
    // Error
    alert('Error : Some Thing went wrong !');

  }, function (progress) {
    $timeout(function () {
      $scope.downloadProgress = (progress.loaded / progress.total) * 100;
    });
  });

};

})

У меня есть конфигурация белого списка, а также вставляется боковое событие deviceready

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|file|blob|cdvfile|content):|data:image\//);

Когда я пытаюсь загрузить возвращенный путь с помощью ng-src, он ничего не отображает, просто пустое пространство.

ОБНОВЛЕНИЕ: после перестроения приложения обнаружено, что проблема сохраняется только на ionic --livereload .


person Raja Mohammed    schedule 29.10.2015    source источник
comment
Попробуйте скачать образ по https вместо http.   -  person aqq    schedule 29.10.2015
comment
Изображение загружается без каких-либо проблем. проблема с загрузкой изображения с устройства.   -  person Raja Mohammed    schedule 29.10.2015
comment
Разрешение на запись и чтение в хранилище в порядке?   -  person Flatlineato    schedule 30.10.2015


Ответы (1)


В режиме livereload приложение обслуживается через локальный сервер и не поддерживает какие-либо плагины для устройств Cordova, такие как File , File browser и т. д..

person Raja Mohammed    schedule 17.04.2016