Облачные изображения не работают через Ionic Framework

Я использую изображения Cloudinary с фреймворком Ionic через библиотеку cloudinary-angular, и у меня возникают проблемы с загрузка изображений.

Когда я тестирую с помощью метода ionic serve, все работает нормально. Однако, когда я устанавливаю приложение на устройство, изображения ломаются. У кого-нибудь есть идеи, как это исправить?

Ниже приведены примеры некоторых моих кодов:

<cl-image ng-if="item.Attachment.name" public-id="{{bucket.mybucket}}/{{item.Attachment.name}}" crop="thumb" width="100" height="100" radius="max" format="png"></cl-image>
<cl-image ng-if="!item.Attachment.name" public-id="{{bucket.mybucket}}/{{bucket.defaultCheese}}" crop="thumb" width="100" height="100" radius="max" format="png"></cl-image>

а также:

$scope.backgroundImg = $.cloudinary.url($scope.bucket.mybucket + "/" + results.response[0].Attachment.name, { format: 'png', height: 800, width: 580, crop: 'fit' }).toString();

И, как я уже сказал, оба они работают с использованием ionic serve.

Обновление. Используя инструмент отладки Safari, я обнаружил следующее. СафариОтладка

Исправлена ​​одна проблема: проблема App Transport Security была устранена путем добавления следующего в Info.plist приложения в разделе Resources/MyApp-Info.plist. Дополнительные сведения см. на странице Безопасность транспорта приложений. AppTransport

Исправлена ​​вторая проблема: возникла проблема с библиотекой cloudinary_angular. По какой-то причине он возвращает URL-адрес с протоколом file:// вместо http://, который нужен приложению. Смотрите решение через мою вилку robksawyer/cloudinary_angular.


person Rob Sawyer    schedule 21.09.2015    source источник


Ответы (1)


возможно ошибка белого списка?

полную информацию см. здесь https://github.com/apache/cordova-plugin-whitelist

Краткая информация

// install plugin
cordova plugin add cordova-plugin-whitelist

Затем измените свой config.xml соответствующим образом.

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

См. документацию, приведенную выше, для полного объяснения.

person Aaron Saunders    schedule 21.09.2015
comment
Сначала я подумал, что это тоже проблема, но потом я просмотрел свой config.xml и установил политику содержимого. Однако, чтобы перепроверить, я запустил cordova plugin add cordova-plugin-whitelist и получил следующее: - person Rob Sawyer; 21.09.2015
comment
gist.github.com/robksawyer/6a83dad2bf9db156e845 Что заставляет меня думать, что он никогда не устанавливал его для ios. - person Rob Sawyer; 21.09.2015
comment
В итоге установил его через ionic plugin add [email protected], но все равно не повезло. Я обязательно запускал ionic prepare ios и ionic build ios перед тестированием. Но спасибо, попробовать стоило. - person Rob Sawyer; 21.09.2015